EN RO

Distance from Shanghai to Beijing

Straight line

1,067 km
663 mi · 576 NM

By road

1,202 km
747 mi

Travel time

13 h 38 min
flight ≈ 1 h 50 min

Direction

NNW 336°
initial bearing

Open in the calculator (stops, directions, fuel cost) → Beijing → Shanghai

How far is Shanghai from Beijing?

Shanghai (China) and Beijing (China) are quite far apart: 1,067 km in a straight line, that is 663 miles or 576 nautical miles. The distance is measured over the Earth's surface (WGS84 ellipsoid) along the shortest possible path.

By road, Shanghai to Beijing is 1,202 km (747 miles), about 13 h 38 min by car on the fastest route, without traffic or stops. The road is 13% longer than the straight line.

From Shanghai, Beijing lies to the north-west (initial bearing 336°). Both cities are in China. The halfway point is at 35.5912°, 119.0651°.

A direct flight would take about 1 h 50 min (800 km/h cruise plus take-off and landing). The road distance and driving time are calculated on the map from OpenStreetMap roads.

Frequently asked questions

How far is Shanghai from Beijing?

By road it is 1,202 km (747 miles) from Shanghai to Beijing; in a straight line it is 1,067 km (663 miles).

How long is the drive from Shanghai to Beijing?

About 13 h 38 min on the fastest route (1,202 km), without traffic or stops.

In which direction is Beijing from Shanghai?

Beijing is to the north-west of Shanghai, at an initial bearing of 336°.

How long is the flight from Shanghai to Beijing?

A direct flight would take about 1 h 50 min at an average cruising speed of 800 km/h.

How is the distance calculated?

The straight-line distance is computed on the WGS84 ellipsoid with the Vincenty formula, accurate to the metre. The road distance comes from OpenStreetMap roads.