고흥반도 남단의 녹동항으로부터 남쪽으로 약 400m, 배로 10분 거리에 있는 섬이다. 남쪽의 거금도(居金島)와 인접하여 있다. 동경 127°07′, 북위 34°31′에 위치한다.
지형이 어린 사슴과 비슷하여 소록(小鹿)이라 불렀다고 한다.
지질은 선캄브리아기의 지리산편마암으로 기반암은 풍화를 많이 받은 상태이다. 섬 전체는 기복이 작은 구릉성산지(최고높이 118m)로 되어 있다. 해안선의 드나듦이 많아 깊숙한 만(灣)과 돌출한 갑(岬)이 교대로 이어진다. 북서쪽 해안은 해식애가 발달한 암석해안이나 나머지 해안은 조립(粗粒)의 사질해안(沙質海岸)이다.
1월평균기온 1℃, 8월평균기온 26.5℃, 연강수량 1,310㎜, 연강설량 1㎜이다.
본래 고흥군 금산면에 속하였으나 행정구역개편에 따라 오마리와 함께 1963년도양읍에 편입되었다.
2007년 말 현재 소록도가 속해 있는 도양읍의 전체 인구는 1만 2,609명(남 6,235명, 여 6,374명)이고 세대수는 5,472호이다. 면적은 3.74㎢, 해안선길이는 14.0㎞이다.
주요 농산물로는 쌀·보리·마늘·양파 등이 생산된다. 교통은 소록도병원 전용도선과 일반용도선이 수시로 운항된다.
교육기관으로는 녹동초등학교 소록도분교가 있다. 그 밖의 시설로 1916년 나병원(癩病院)인 소록도자혜의원(慈惠醫院)이 처음 설립되었고 현재 우리나라에서 가장 규모가 크고 시설이 잘된 국립소록도병원이 있다. 취락은 병사지대(病舍地帶)와 직원지대(職員地帶)로 나뉘어 있다.
울창한 산림과 바다가 어울려 경치가 아름답고 잘 닦여진 도로를 따라 곳곳에 공원이 조성되어 있다.
동쪽 해안에는 백사청송(白沙靑松)의 아름다운 경관을 자랑하는 소록도해수욕장이 있고 남쪽 끝에는 소록도등대가 있다.