대동강 하구에서 상류로 30㎞ 지점에 위치한다. 1897년 10월 1일 자발적 개방방식에 의하여 정부에서 개항하였다.
1889년 평안·황해 양도의 연안지역에 청국상선의 밀무역이 빈번하고, 또 이것이 인천거주 일본인의 상업에까지 영향을 미치자, 이들이 정부와 교섭하여 대동강과 재령강의 분기점인 철도(鐵島)를 지정하였으나 조선조정의 거부로 선정되지 못하고 기진포와 증남포가 대체후보로 선정되어 그 중 증남포가 선정되었다.
증남포는 대동강 하구의 양항으로 청일전쟁 때 일본군이 대거 상륙한 뒤 병참기지화하여 군인·군속·어용상인으로 붐볐고, 그 뒤 진남포로 개칭되었다가 남포시로 되었다. 항구는 조차가 약 5m에 달하여 1915년 개거식(開渠式) 축항을 하여 1만톤급 선박의 출입이 가능하여졌다.
1944년 주요항만시설로는 안벽이 587m, 물양장이 564m에 달한다. 광복 전에는 중국·일본 등과 무역이 이루어졌다. 1980년 현재 평양공업지구를 배후지로 황해안 최대무역항이며 군항으로 4개의 부두와 동항에 석탄부두가 있다.
1980년 초에는 소련의 지원으로 시멘트 전용부두가 설치되었다. 1986년 2만톤급 선박의 통과가 가능한 서해갑문(남포갑문)이 완공됨으로써 황해안의 해상수송능력은 물론 대동강·재령강을 이용한 하천수송능력이 크게 향상되었다.