동경 126°15′ 북위 37°38′에 위치하며, 서도면의 주도이다. 강화도에서 서쪽으로 14.5㎞ 지점에 있다. 면적은 4.55㎢이고, 해안선 길이는 13.0㎞이다.
조선 중기에 임경업(林慶業)이 명나라에 사신으로 떠날 때 이 섬에서 임금에게 하직의 글월을 올렸다고 하여 주문도(奏文島)라 하던 것을 물 가운데 섬에서 글을 올렸다는 뜻의 주문도로 개칭하였다고 한다. 이외에 옛날 사신이 중국을 왕래할 때 한양의 국왕에게 여정을 보고하는 글을 올렸다는 유래도 갖고 있다.
최고봉은 북쪽에 있는 봉구산(烽丘山, 147m)으로, 섬의 산줄기는 동북쪽에서 서남쪽으로 이어진다. 동남부와 북서부에는 농경지가 넓게 분포하며 해안선이 아주 단조롭다. 서쪽 해안에는 사빈이 발달해 있다. 섬 주변에는 간석지가 넓게 형성되어 있다. 1월 평균기온은 -3.0℃, 8월 평균기온은 24.2℃, 연강수량은 1,448㎜이다.
조선 후기까지 교동부 성가면 서도리에 속하였다가 1914년에 강화군과 교동군이 강화군으로 통합되면서 강화군 서도면 소속이 되었다. 1995년에 인천광역시 강화군 서도면 주문도리로 변경되었다.
2010년 기준으로 인구는 358명(남 175명, 여 183명)이 거주하고 있으며, 세대수는 165세대이다. 토지이용 현황은 논 1.15㎢, 밭 0.53㎢, 임야 2.49㎢이다. 주민들은 농업과 어업에 종사한다. 주요 농작물로는 쌀·콩·감자·고추·마늘 등이고, 근해에서 숭어·꽃게·병어·새우·조기 등이 잡힌다.
대빈창해수욕장과 뒷장술해수욕장에는 여름에 해당화가 만발한다. 한때 당뇨병에 특효라는 소문으로 인해 무단 채취가 심했지만, 최근에는 인공 식재를 통해 해당화 군락지를 복원하고 있다. 교통은 강화도의 외포선착장에서 정기여객선이 운항된다. 교육기관으로는 서도초중고등학교가 있다.