황해도 3대도서의 하나이다. 동경 124°50′, 북위 38°32′에 위치하며, 면적 32.56㎢, 해안선길이 47㎞이다. 육지로부터 약 12㎞ 떨어져 있고, 육지와 초도 사이의 해협을 초도수도(椒島水道)라 한다.
섬은 서북∼동남으로 긴 모양을 하고 있으며, 산악이 중첩하고 흰구름이 항상 감돌아 ‘초도춘운(椒島春雲)’이라는 말도 있다. 동북해안은 험한 암석해안이고 이것이 뻗어 정족도(鼎足島)·덕도(德島)가 된다. 또 서남해안도 암석해안이 내도암(內島巖)·서도등대(西島燈臺)로 연속된다.
서도등대는 규모가 커서 광량만이나 남포를 출입하는 선박은 물론 중국 대륙간을 항해하는 선박들의 항해지표가 되었다. 대안 육지의 풍천(豊川)은 서해안의 요지로 풍천성지가 있고 중국과의 교통의 요지였던 진강포(津江浦)가 있어 유명하다.
육지와 연락이 되는 항구는 소사리이고 해안선은 만입을 막아 간척지가 넓게 발달하고 있다. 특히, 서남해안의 만입부는 넓게 간척되어 나치동·요양동·이현리 등의 마을이 모여 있다. 해안지대를 제외하면 산지가 많고 최고점은 서부의 목거봉(木擧峰, 352m)이다.