Distance from Beijing to Shanghai
Straight line
By road
Travel time
Direction
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.
Other distances from Beijing
- Beijing – Tianjin 108 km
- Beijing – Tangshan 156 km
- Beijing – Datong 265 km
- Beijing – Shijiazhuang 266 km
- Beijing – Jinan 364 km
- Beijing – Zibo 376 km
- Beijing – Taiyuan 402 km
- Beijing – Handan 404 km
- Beijing – Tai’an 419 km
Other distances from Shanghai
- Shanghai – Kunshan 51 km
- Shanghai – Suzhou 83 km
- Shanghai – Changshu City 83 km
- Shanghai – Wuxi 118 km
- Shanghai – Ningbo 150 km
- Shanghai – Hangzhou 161 km
- Shanghai – Puyang 247 km
- Shanghai – Nanjing 270 km
- Shanghai – Hefei 402 km
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.