동경 126°12′, 북위 34°27′에 위치한다. 목포에서 북서쪽으로 21.7㎞, 황마도에서 서쪽으로 0.2㎞ 지점에 있다. 면적은 0.91㎢이고, 해안선 길이는 5.8㎞이다.
본래 노대도·장마도·마산도 등 3개의 섬으로 분리되어 있었으나, 방조제 공사를 통해 원형으로 연결되면서 하나의 섬이 되었다. 인접한 황마도를 경유하여 매화도까지 제방으로 연결되어 있다. 섬의 형상이 말과 같이 생겼다 하여 마산도라 부르게 되었다.
낮은 구릉지(최고 높이 31m)가 있을 뿐 대부분은 저평하여 농경지가 전체면적의 절반 정도를 차지한다. 1월 평균기온은 0.8℃, 8월 평균기온은 26.3℃, 연강수량은 1,126㎜이다.
2009년 기준으로 인구는 77명(남 44명, 여 33명)이고, 세대수는 36세대이다. 취락은 3개 섬에 각각 분포하며, 섬 중심지는 북서쪽에 위치한 마산마을이다. 1710년(숙종 36) 무렵 나주에 살던 금성정씨가 태풍으로 피신하면서 정착하였다고 한다.
토지이용 현황은 논 0.12㎢, 밭 0.44㎢, 임야 0.3㎢이다. 주민들은 주로 농업에 종사한다. 주요 농산물은 쌀과 고구마를 비롯하여 마늘·보리·고추 등이다. 주요 수산물은 바지락·숭어·낙지·새우 등이며 김 양식도 행해진다.
섬 주위에 간석지가 펼쳐져 있어 방조제를 쌓아 염전과 농경지로 이용하고, 여러 개의 인공저수지를 조성하여 용수를 공급한다. 압해초등학교 마산분교장은 2006년 3월에 폐교되었다.