Haiphong yra pakrantės miestas, įsikūręs Cấm upės (Cấm upės) įlankoje, Vietnamo šiaurės rytų pakrantės teritorijoje, 120 km į rytus nuo Hanojaus. Bính tiltas kirčia Cam ir jungia miestą su Thủy Nguyên rajone. Jis turi bendrą natūralią teritoriją 152,318.49 ha (2001). Jis ribojasi su Quảng Ninh provincija į šiaurę, Hải Dương provincija į vakarus, Thái Bình provincija į pietus ir Tonkinos įlanka į rytus. Bach Long Vi sala, Cat Ba sala ir Long Châu salos, esančios įlankoje, taip pat yra administruojamos kaip miesto dalis.
Cấm upės įlankos