Hamhung se encuentra en la margen izquierda del río Songchon, en la parte este de la llanura de Hamhung, en la provincia de Sur Hamgyong, al noreste de Corea del Norte.