동경 126°10′, 북위 35°18′에 위치하며, 법성포에서 서쪽으로 20㎞ 지점에 있다. 면적은 3.6㎢이고, 해안선 길이는 3.5㎞이다.
서쪽의 왕산봉, 북쪽의 무장등, 남쪽의 내막봉 등 세 개의 봉우리로 이루어져 있는 섬의 모양이 마치 송이(松栮)처럼 생겼다고 해서 붙여진 이름이다. 또는 섬에 소나무가 많고 섬의 모양이 사람의 귀와 닮아서 송이도라 부른다고도 한다.
지질은 주로 중성화산암류로 되어 있다. 무장등(舞長嶝, 147m)·왕산봉(161.2m)·내막봉(內幕峰, 110.9m) 등 비교적 기복이 큰 산지들로 이루어져 있으며, 동남쪽의 좁은 저지에는 경지와 취락이 분포하고 있다. 해안은 동남쪽의 사빈해안(沙濱海岸)을 제외하고는 대부분 암석해안이며, 곳곳에 해식애(海蝕崖)가 발달되어 있다.
섬의 중앙에 송이저수지가 있다. 북동부 해안에는 1㎞ 길이의 몽돌해안을 이루는 송이도해수욕장이 있다. 1월 평균기온은 1.7℃, 8월 평균기온은 26.1℃, 연강수량은 1,164㎜이다.
2010년 기준으로 인구는 99명(남 50명, 여 49명)이 거주하고 있으며, 세대수는 57세대이다. 취락은 동남쪽 해안에 있는 ‘큰마을’과 ‘작은마을’에 주로 분포되어 있다.
토지이용 현황은 논 0.06㎢, 밭 0.71㎢, 임야 2.75㎢이다. 주민들은 농업보다 어업에 종사하고 있다. 주요 농산물로는 쌀·보리·고구마·유채·콩·마늘 등이 생산된다. 어항시설의 미비와 어족의 고갈로 수산업이 부진하나, 소·돼지·닭 등의 가축사육이 성하다. 수산업으로는 약간의 김양식이 행해지고 있다. 꽃게와 해태가 송이도의 특산물이다. 또 도자기 원료인 규석이 해변에서 채취된다. 교통은 정기여객선이 계마항, 횡도, 안마도 등지에서 운항된다.