동경 127°55′, 북위 34°28′에 위치한다. 북쪽에 여수반도, 북동쪽에 돌산도, 남동쪽에 금오도(金鰲島), 서쪽에 고흥반도가 있다. 면적은 8.76㎢이고, 해안선 길이는 25.5㎞이다. 화정면의 동쪽에 위치하며, 면에서 제일 큰 섬이다.
주위의 작은 섬들을 거느린다는 뜻으로 ‘개(蓋)’ 자를 써서 개도라 부르게 되었다고 한다. 또는 봉화산과 천제봉이 개의 두 귀처럼 보여 개섬이라 하였다고도 전해진다.
남부에는 봉화산(烽火山, 335m)·천제봉(天祭峰, 328m) 등 비교적 높은 산들에 의해 암석해안이 발달해 있으며, 북쪽으로 갈수록 고도는 낮아진다. 섬 중앙부에는 저평한 구릉지가 형성되어 있으며, 그 전면의 만입부는 제방을 쌓아 경작지로 조성되었다.
연평균기온은 14.4℃, 1월 평균기온은 2.1℃, 8월 평균기온은 24.8℃, 연강수량은 1,247㎜이다. 기온이 온화하며, 동백나무가 무성하여 남국적인 풍경을 이룬다.
2013년 기준으로 인구는 1,048명(남 525명, 여 523명)이 거주하고, 세대수는 522세대이다. 섬의 중앙부에 형성된 화산마을은 섬의 중심지로 화정면 개도출장소가 설치되어 있다.
토지이용 현황은 논 0.29㎢, 밭 2.16㎢이다. 주요 농산물은 쌀과 보리를 비롯하여 콩·고구마·마늘 등이 생산된다. 연안에서는 서대·양태·멸치·게·문어 등이 잡히며 참전복·우럭·감성돔·굴·미역 등의 양식업이 활발하다.
교통은 여수와 백야도에서 개도를 경유하는 정기여객선이 운항되고 있다. 교육기관으로는 화정초등학교와 여수개도중학교가 있다.