고흥반도로부터 남쪽으로 40㎞ 지점에 있다. 삼도(三島) · 삼산도(三山島) · 거마도(巨磨島)라고도 불린다. 고도(古島) · 동도(東島) · 서도(西島)의 세 섬으로 구성되어 있는데, 그 중 고도만을 거문도라고 부르기도 한다. 고도의 면적은 0.42㎢이고, 해안선 길이는 3.70㎞이다. 서도의 면적은 7.77㎢이고, 동도의 면적은 3.43㎢이다.
서도는 세 섬 중 가장 큰 섬으로서 온 섬이 동백나무로 뒤덮여 있어 연중 푸른데, 이곳에 위치한 수월산(水越山, 128m)에는 다도해의 뱃길을 비춰주는 거문도 등대가 있다. 고도와 서도는 삼호교로 연결되어 있다.
삼국시대 이전에는 마한에 영속되었고, 삼국시대에는 백제의 원촌현에 속하여 삼호(三湖)라고 하였다. 1396년(태조 5)에는 흥양현(현재의 고흥군)에 속하여 삼도라고 불렸으며, 1914년에 행정구역 개편으로 여수군 소속이 되었다. 1949년에는 여천군으로 이속되었다가 1998년에 통합 여수시 삼산면이 되었다.
1885년(고종 22)에 영국은 청 · 러시아 · 일본과의 세력 균형을 이유로 동양 함대를 주둔시켜 거문도를 불법으로 점령하여 해밀턴항(Port ㏊milton)으로 불렀다. 그 뒤 영국은 섬을 매수하겠다는 등 갖은 술책을 쓰다가 결국 1887년 2월 27일에 이곳에서 철수하였다. 이때 종래 부르던 삼도를 거문도라고 부르게 되었다. 대한해협의 문호로서 과거 러시아의 태평양 출구 구실을 하여 ‘동양의 지브롤터(Gibralter)’라고도 불리었다.
지명은 삼도에 문장가가 많아서 거문도(巨文島)라고 하였다는 기록이 있다. 또한 이곳에 왜인들이 고기잡이를 하기 위해 살았기 때문에 ‘왜섬’이라고 부르던 것을 ‘왜’와 훈이 비슷한 ‘외섬’으로 훈차(訓借)해 고도(孤島)로 불리다가 후에 고도(古島)가 되었다는 설도 있다.
고도 · 동도 · 서도의 세 섬으로 둘러싸인 바다를 도내해(島內海)라고 하는데, 수심이 깊어 큰 배의 출입이 자유롭다. 고도는 섬의 동쪽으로 비교적 높은 산지가 형성되어 있고, 서도를 바라보는 서쪽으로는 만입이 형성되어 있다. 해안은 대체로 암석해안이다. 연평균기온은 14.4℃, 1월 평균기온은 2.1℃, 8월 평균기온은 24.8℃, 연강수량은 1,247㎜이다.
2009년 기준으로 인구는 704명(남 386명, 여 319명)이 거주하고 있으며, 세대수는 307세대이다. 취락은 섬의 서쪽 선착장 주변에 집중해 있다. 토지이용 현황은 논은 없고 밭 0.11㎢, 임야 0.25㎢이다.
수산업이 주민의 주업이며, 농산물은 콩 · 고구마 등이 주로 생산된다. 고도를 중심으로 하는 수역(水域)은 순천 · 여수 방면에서 제주도로 항해하는 여러 선박의 기항지로서 근해어업의 근거지이다.
갈치 · 삼치 · 고등어 · 방어 등의 좋은 어장이 되며, 김의 생산지로도 유명하다. 전복 양식이 활발하며, 갈치는 이 섬의 특산품이다. 성어기에는 파시(波市)가 섰는데, 파시 성립의 역사가 길어서 현재의 마을들은 대개 파시에서 유래되어 발달한 것들이다.
주민 사이에 구전되어 내려온 「거문도뱃노래」는 1972년 전라남도 무형문화재(현, 무형유산)로 지정되었다. 교통은 여수 · 녹동 등지에서 정기여객선이 운항된다. 교육기관으로는 거문초등학교가 있다.