Haikou is situated on the north coast of Hainan Island, by Haikou Bay, facing the Leizhou Peninsula across the Qiongzhou Strait that stretches west from Beibu Bay near Vietnam to the James Shoal bordering the South China Sea to the west.
Most of the city is almost completely flat and only a few metres above sea level.
It has an area of 2,304.84 km² (889.90 sq mi).
The Meishe River winds through the east side of the city flowing northward to the Haidian River.

The northern part of Haikou City, the district of Haidian Island, is separated from the main part of Haikou by the Haidian River, a tributary of the Nandu River.
The district is accessed by one of four bridges, the largest being Haikou Century Bridge, which connects the Guomao district with Haidian Island at the estuary of the Haidian River.
From east to west the remaining three road connections are provided by the Renmin, Heping and Xinbu Bridges.

Directly to the northeast of Haikou and to the east of Haidian Island is Xinbu Island.
Haikou is situated on the north coast of Hainan Island, by Haikou Bay, facing the Leizhou Peninsula across the Qiongzhou Strait that stretches west from Beibu Bay near Vietnam to the James Shoal bordering the South China Sea to the west. Most of the city is almost completely flat and only a few metres above sea level. It has an area of 2,304.84 km² (889.90 sq mi). The Meishe River winds through the east side of the city flowing northward to the Haidian River.
The northern part of Haikou City, the district of Haidian Island, is separated from the main part of Haikou by the Haidian River, a tributary of the Nandu River. The district is accessed by one of four bridges, the largest being Haikou Century Bridge, which connects the Guomao district with Haidian Island at the estuary of the Haidian River. From east to west the remaining three road connections are provided by the Renmin, Heping and Xinbu Bridges.
Directly to the northeast of Haikou and to the east of Haidian Island is Xinbu Island.
Haikou