동경 125°27′, 북위 34°43′에 위치한다. 목포에서 서남쪽으로 82㎞, 흑산도에서 서북쪽으로 3.2㎞ 지점에 있다. 면적은 3.40㎢이고, 해안선 길이는 13.7㎞이다. 인접해 있는 대흑산도·다물도(多物島)·대장도(大長島)·홍도 등과 함께 흑산군도(黑山群島)를 이룬다. 다도해해상국립공원으로 지정되어 있다.
본래 지도군 흑산면에 속하였다가 1914년에 행정구역 개편으로 무안군 흑산면에 속하였다. 1969년에 무안군에서 신안군이 분군함에 따라 신안군 흑산면이 되었다. 오리·수리·도목리 등 3개 마을이 큰 섬을 이루어 대둔도라 부르게 되었다고 한다.
지질은 주로 규암(硅巖)과 사암(砂巖)으로 이루어져 있다. 섬에서 가장 높은 성암산(城巖山, 164m)을 비롯하여 기복이 비교적 큰 산지로 이루어져 있다. 해안은 곳곳에 만과 곶이 발달하여 드나듦이 심하고 암석해안이 발달해 있다.
바다 한 가운데 아치 모양으로 솟은 돛대바위와 파도의 침식으로 이루어진 칠성굴 등이 명승지로 꼽힌다. 1월 평균기온은 2℃, 8월 평균기온은 26℃, 연강수량은1,112㎜이다.
2009년말 기준으로 인구는 474명(남 262명, 여 212명)이고, 세대수는 236세대이다. 취락은 오리·도목리·수리에 분포하고 있다. 1650년경 광산김씨(光山金氏)가 처음으로 들어와 살았다고 전한다. 토지이용 현황은 논은 없고, 밭 0.33㎢, 임야 2.94㎢로, 임야가 전체면적의 87%를 차지한다.
주요 농산물로는 보리·감자·콩·마늘 등이 생산된다. 난류인 제주해류가 통과하는 인근해역은 각종 어족이 풍부하여 좋은 어장을 형성하고 있다. 주요 어획물은 멸치·장어·농어 등이고, 대둔도와 다물도 사이의 해안에서 전복이 양식된다.
어촌종합개발계획에 의해 섬 주변 지역이 어류 양식장으로 조성되었는데, 수중에 해초가 무성하여 양식지로서 적지이다. 교통은 목포에서 가거도를 운항하는 정기여객선이 대둔도를 경유한다. 교육시설로는 흑산초등학교 흑산동분교장이 있다.