함경북도에서 가장 큰 섬이라 하여 큰섬이라고도 하고 말을 방목하였다 하여 마섬이라고도 한다. 면적 4.342㎢, 둘레 10.54km이고 해발 233m의 초도산을 중심으로 북쪽 고부진단과 남쪽 끝단까지 능선이 길게 이어져 있다. 섬 전체는 남북축이 긴 달걀 모양을 하고, 북쪽의 소초도(小草島), 북동쪽의 성정단(城亭端)과 함께 나진항을 감싸는 자연 방파제 역할을 하고 있다. 나진항이 북한 3항으로 또, 현재는 나진·선봉 자유경제무역지대의 중심항으로 발전하게 하는데 큰 힘이 되었다.
남쪽 해안은 심한 해식을 받아 30m 가량의 급한 해식애(海蝕崖)를 이루고, 북서쪽 해안은 파도가 잔잔하여 어항인 초도마을이 있다. 조선시대에는 풀이 많다 하여 초곶도(草串島)라 하였고, 근해 어업에 종사하는 어부들이 이룬 어촌이 형성되어 있다. 리만해류와 동한해류가 합하는 해역이어서 전라남도의 목포 근해와 함께 농무(濃霧)가 끼는 날이 많아서 해난 사고를 일으키는 일이 잦다.
북한 어장의 중심부에 있으므로 연어·송어·대구·명태·정어리·청어·고등어·가자미·게 등의 어획량이 많다. 구성암석은 편마암, 현무암, 화강암, 점판암이다며 소나무·참나무·이깔나무 등이 많다. 비교적 물결이 잔잔한 대초도의 북쪽 나진만에서 다시마 중심의 해조류 양식이 대대적으로 진행되고 있다. 그래서 바닷새의 배설물로 덮인 섬 전체가 희게 보인다. 청동기 유물도 발굴되었다. 섬의 남단에는 높은 해식애 위에 청진, 나진항으로 출입항하는 배를 위하여 광달거리(光達距離)가 30㎞를 넘는 대초도 등대가 설치되어 있다.