동경 125°37′, 북위 34°67′에 위치한다. 목포(목포시청)에서 서쪽으로 약 95㎞, 진도(진도군청)에서 서북쪽으로 85㎞ 지점에 있다. 섬 동쪽으로 3.2㎞ 지점에 대흑산도가 있다. 면적은 1.57㎢이고, 해안선 길이는 11.0㎞이다. 대장도와 소장도로 구성되어 있는데, 두 섬 사이에 작은 바위들이 연속해 있어 하나의 섬처럼 보인다. 다도해 해상국립공원으로 지정되어 있다.
섬의 모양이 동서 방향으로 길다고 하여 장도라 부르게 되었다고 한다.
섬은 동북에서 서남 방향으로 길게 뻗어 있다. 대장도는 비교적 기복이 큰 산지(최고 높이 267m)로 이루어져 있으며, 동남 해안을 제외한 대부분의 해안이 높은 주1로 되어 있다. 대장도는 경사가 급하고 기복이 큰 산지(최고 높이 156m)로 되어 있으며, 해안은 가파른 해식애를 이루는 암석 주2이 대부분이다. 산의 정상부에 있는 장도습지(면적 9만 414㎡)는 2005년에 국내에서 세 번째로 람사르 협약 등록 습지로 지정되었다. 소장도의 북동쪽으로 쥐머리섬, 내망덕도, 외망덕도 등이 분포한다. 1월 평균 기온은 2℃, 8월 평균 기온은 26℃, 연 강수량은 1,112㎜이다.
2022년 기준으로 인구는 83명(남 44명, 여 39명)이고, 세대수는 46세대이며 소장도에는 사람이 살지 않는다. 취락은 남쪽에 위치한 대장도의 동북쪽 해안에 집중적으로 분포하며 장도항을 통한 해상 교통이 유일한 교통수단이다. 장도보건진료소가 운영중이며 교육 기관으로는 흑산초등학교 장도분교가 1955년에 개교하였다가 현재는 휴교중이다.
토지 이용 현황은 논이 없고 밭 0.04㎢, 임야 1.49㎢이다. 주민들은 어업에 주로 종사한다. 농산물로는 소량의 감자 · 보리 · 마늘 등이 생산된다. 근해에서는 장어 · 전복 · 톳 등이 어획되고, 전복 양식이 활발하다. 교육 기관으로는 흑산초등학교 장도분교장이 있다.