EN RO

Distance from Beijing to Shanghai

Straight line

1,067 km
663 mi · 576 NM

By road

1,217 km
756 mi

Travel time

13 h 42 min
flight ≈ 1 h 50 min

Direction

SSE 153°
initial bearing

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

How far is Beijing from Shanghai?

Beijing (China) and Shanghai (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, Beijing to Shanghai is 1,217 km (756 miles), about 13 h 42 min by car on the fastest route, without traffic or stops. The road is 14% longer than the straight line.

From Beijing, Shanghai lies to the south-east (initial bearing 153°). 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 Beijing from Shanghai?

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

How long is the drive from Beijing to Shanghai?

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

In which direction is Shanghai from Beijing?

Shanghai is to the south-east of Beijing, at an initial bearing of 153°.

How long is the flight from Beijing to Shanghai?

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.