섬의 모양이 새처럼 생겨 처음에는 조도(鳥島)라고 하였다. 1900년대 초 인근에 위치한 충도(忠島)가 충도(蟲島)로 불릴 때 새가 벌레를 잡아먹는다고 해서 충도(忠島)와 분쟁이 있은 후에 신도(身島)로 바뀌었다고 한다. 한편 섬의 모양이 사람 얼굴을 닮아 신도라고 하였다는 설도 있다.
동경 127°03′, 북위 34°23′에 위치하며, 평일도(平日島)와 금당도(金塘島) 사이에 있다. 완도읍에서 북동쪽으로 약 20㎞ 지점에 있다. 면적은 1㎢이다.
지질은 대부분 중생대(中生代) 경상계층군 유천층군 유문암(流紋巖) 및 유문암질 응회암(凝灰巖)으로 이루어져 있다.
비교적 기복이 큰 산지(높이 179m)로 이루어졌으며 능선과 골짜기가 뚜렷하게 형성되어 있다. 이에 따라 골짜기는 깊고 경작지는 협소하다. 해안은 암석 해안(巖石海岸)이 대부분이며, 사빈 해안은 만입부(灣入部)에 소규모로 분포한다. 산의 경사가 급하고 피복 식물(被覆植物)이 많아 뱀이 많다.
1월 평균 기온은 3.3℃, 8월 평균 기온은 26.3℃, 연강수량은 1,214㎜이다.