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