동경 126°01′, 북위 34°19′에 위치한다. 상조도(上鳥島)에서 북쪽으로 0.1㎞, 진도읍에서 서쪽으로 25㎞ 지점에 있다. 면적은 1.21㎢이고, 해안선 길이는 7.5㎞이다. 다도해해상국립공원으로 지정되어 있다.
섬의 형태가 ‘옥(玉)’자 모양이라 하여 옥도라 부르게 되었다고 전한다.
지질은 대부분 산성화산암류로 되어 있다. 비교적 경사가 완만한 구릉지(최고 높이 105m)로 이루어져 있다. 해안은 암석해안이 많으며 서쪽 해안에는 동쪽 해안까지 닿을 정도로 깊숙한 만입이 형성되어 섬 중앙은 지협부(地峽部)를 이루고 있다. 북쪽 해안에는 육계도(陸繫島) 상태에 이른 시야도(時也島)가 있다.
1월 평균기온은 -0.6℃, 8월 평균기온은 22.4℃, 연강수량은 1,019㎜이다.
2010년 기준으로 인구는 65명(남 30명, 여 35명)이 거주하고 있으며, 세대수는 36세대이다. 취락은 중앙의 지협부에 집중되어 있다. 토지이용 현황은 논은 없고 밭 0.21㎢, 임야 0.96㎢로 임야가 전체면적의 79%를 차지한다.
주민들은 농업과 어업을 겸한다. 농산물은 감자·보리·마늘·무·참깨 등이 생산된다. 근해에서 꽃게·장어·넙치·볼락 등이 어획되며 톳·파래 등이 채취된다. 또 김과 미역의 양식이 활발하다. 교통은 목포에서 정기여객선이 운항된다.