소도(蔬島)는 대한민국 충청남도 보령시 오천면에 위치한 이다. 해안은 해식애가 있어 험하나, 섬 안쪽은 평평하여 농가가 많다. 면적은 0.1km2이다.