북한 남포특별시 내의 서쪽 15km에 위치한 갑문으로 황해남도와 남포특별시를 연결하는 기능을 한다. 광복 당시 행정구역상으로는 황해도 은율군 이도면과 평안남도 용강군 신녕면을 잇는다. 도로는 물론 서해갑문선철도가 부설되어있다.
갑문 내에는 3곳의 갑실이 설치되어 있으며, 각각 5천톤, 2만톤, 5만톤급의 선박이 통과 가능하다. 이 갑실은 정해진 시간에 회전교가 회전하면서 선박 통과와 차량/열차 통과를 통제한다.
건설 당시에는 남포갑문이라고 불렀으나 1986년 완공 직후 북한 최고인민회의 상설회의 정령으로 '서해갑문'이 정식 명칭이 되었다. 북한에서는 서해갑문의 부설 이후 갑문 남단의 송관리를 남포시에 편입시켰다.
원래 북한은 현 위치에서 동쪽으로 30km 정도 떨어진 남포시 동전리 지역에 갑문을 건설하려 했는데, 이러면 갑문의 길이는 짧아지지만 갑문 내부에 쌓일 흙의 양을 계산해보니 도저히 감당 못한다는 결론에 이르러 ( ... ) 때려친 경험이 있었다. 현 서해갑문은 김일성이 직접 건설위치를 결정한 것이다. 온전히 독단은 아니고 그 나름대로 전문가 집단의 지지를 받긴 했다. 다만 둑이 너무 방대해진다는 반대여론이 있었는데 김일성이 현 위치를 적극 지지해서 묵살시켰다. 코랭면 드립 나올까봐 덧붙이자면 어쨌거나 김일성 멀쩡하던 시절에는 북한도 그 나름의 회의도 하고 의견수렴도 했다. 김일성과 대비되는 김정일의 통치스타일 특징으로 괜히 회의 없는 독단적 결정을 꼽는 게 아니다.