동경 126°7′, 북위 34°36′에 위치한다. 목포에서 남쪽으로 29.8㎞, 장산도(長山島)에서 서쪽으로 약 200m 지점에 있다. 신의면 상태도와 마주보고 있다. 면적은 1.17㎢이고, 해안선 길이는 5.3㎞이다.
백제의 거지산현에 속하였다가 통일신라시대에 압해군의 일부인 안파현에 이속되었다. 고려시대에는 장산현으로 바뀐 후 나주목에 이속되었다. 1895년에는 지도군에 속하였다가, 1914년에 행정구역 개편으로 무안군에 편입되었다.
1969년에 무안군에서 신안군이 분군되면서 신안군 장산면 다수리에 속하여 현재에 이르고 있다. 지명은 섬에 금줄기와 금광이 있어 막금이라 부르게 되었다고 한다.
지질은 대부분 산성화산암류로 구성되어 있다. 서쪽은 산지(최고 높이 112m)가 위치하고 남쪽은 저평한 구릉으로 이루어져 있다. 북쪽에는 넓은 간석지와 농경지가 조성되어 있다. 1월 평균기온은 1℃, 8월 평균기온은 26.5℃, 연강수량은 890㎜이다. 동백나무 군락이 형성되어 있다.
2009년 기준으로 인구는 11명(남 7명, 여 4명)이고, 세대수는 5세대이다. 취락은 저평한 섬의 북쪽 해안에 입지해 있다. 1630년(인조 8)경 장산도에 거주하던 오씨가 처음으로 들어와 살았다고 전한다.
경지면적은 논 0.08㎢, 밭 0.13㎢, 임야 0.66㎢로 경지율은 약 18%이다. 주민들은 농업과 어업을 겸하고 있다. 주요 농산물은 감자와 고구마이고 쌀·보리·콩·마늘 등이 약간 생산된다. 수산물은 장어와 오징어 등이 주로 잡히고, 김·미역·톳 등이 양식된다.
교통은 장산도 서쪽의 앤두선착장에서 섬의 동쪽으로 연결되는 소형 어선을 이용할 수 있다. 장산초등학교 막금분교장이 있었지만, 1998년 3월에 폐교되었다.