태안반도 가운데에서 남쪽으로 뻗은 소반도인 남면반도(南面半島)의 남단에 자리잡고 있으며, 동쪽은 천수만을 끼고 홍성군·보령시와 이어지고 북쪽은 안면수도를 사이에 두고 태안반도의 남쪽 끝인 신온리와 마주하고 있다.
천수만의 서측을 이루고 있는 큰 섬으로 동경 126°24′, 북위 36°30′에 위치한다. 면적은 113.46㎢, 해안선 길이 120㎞이다. 우리나라에서 여섯 번째로 큰 섬이며, 남북 길이 24㎞, 동서 길이 5.5㎞로 남북으로 뻗어 있다.
안면(安眠)이란 글자그대로「편하게 잘 잔다」는 뜻이지만, 강희자전(康熙字典)에 따르면 안(安)은 편안하다·고요하다·값싸다 등의 뜻이 있고, 면(眠)은 졸다·잔다·어지럽다 등의 뜻을 내포하고 있는 외에 범조수지언식(凡鳥獸之偃息)이라 했다. 그러므로 안면(安眠)이란 곧 조수가 편안히 누워 쉴 수 있다는 의미로서, 안면도가 숲으로 우거져 있는 자연 환경을 나타낸 지명으로 여겨지고 있다.
북쪽의 국사봉(國師峰, 107m)을 제외하면 대체로 100m 이하의 낮은 구릉으로 되어 있으며 곳곳에 저지대를 이루고 있다.
해안은 만입과 돌출이 심한 리아스식해안으로, 특히 천수만에 연한 내안은 해안선이 복잡하다. 연안은 수심이 얕으며, 간조시에는 뻘로 된 간석지가 넓게 나타난다. 1월 평균기온은 -2.7℃, 8월 평균기온은 25.6℃, 연강수량은 1,155㎜이며 겨울 기간에 눈이 많이 내린다.
안면도는 조선 인조 때 운하를 팜으로써 섬으로 떨어졌다가 1970년대 말 교량을 건설하여 육지와 다시 이어졌다.
1638년(인조 16)에 충청관찰사 김육(金堉)이 조운의 편의를 위하여 착항(着港)을 절단하면서 잘 알려진 섬으로, 1895년(고종 32)에 태안군에 편입되었고, 1914년 행정구역 개편으로 안상, 안하 2개 면이 안면면으로 병합되었다.
1980년 읍으로 승격되었으며, 1983년보령군 오천면 삽시도리를 편입하였다. 1989년서산군에서 태안군이 분리되면서 이에 속하게 되었다.
2007년 말 현재 안면도가 속해 있는 안면읍과 고남면의 전체 인구는 1만 2,469명(남 6,189명, 여 6,280명)이고 세대수는 5,554호이다. 경지 면적은 약 42.45㎢이고 논 22.45㎢, 밭 19.22㎢으로 주민이 대부분 농업에 종사하고 있어 어업은 미약한 편이다.
주요 농산물로는 쌀·보리·콩·고구마 등이 생산되며, 연안에서는 김·굴·백합 양식이 활발하고, 황해에 연한 해안에서는 제염업이 이루어지고 있다.
교육 기관으로는 초등학교 5개교, 중학교 3개교, 고등학교 1개교가 있다. 섬의 북동안에 면한 내해는 서산시 부석면 창리와 간월도, 그리고 홍성군 서부면을 연결하는 서산A지구 방조제 축조공사가 완공되어 대단위 간척사업이 진행되고 있다.
또한 죽도와 보령시를 연결하는 내해도 간척사업이 진행되고 있어 해안선이 많이 직선화 되었으며 섬의 내해는 곧 육지화 될 것이다. 북쪽에 남면반도와의 사이에는 안면교와 안면대교가 가설되어 육지화 되었으며, 주요 간선도로가 남북으로 관통하고 있다.
섬 서쪽은 태안해안국립공원에 편입된 지역으로 자연경관이 수려하며, 방포해수욕장과 삼봉해수욕장이, 꽃지해수욕장 등이 있다. 그 밖에 신야리의 패총, 고남리에 지석묘가 있다. 안면도 모감주나무 군락은 1962년 천연기념물로 지정되었다.