The straight-line distance from Shanghai, China to Beijing, China is 1,067 km (663 miles).Beijing is NNW of Shanghai.
Distance (km)
1,067
straight line
Distance (miles)
663
straight line
Flight Time
1 hr 48 min
estimated direct
Direction
NNW
336° bearing
| Mode | Estimated Time | Distance | Notes |
|---|---|---|---|
| Flight | 1 hr 48 min | 1,067 km | Direct flight at 800 km/h avg cruise speed |
| Driving | 17 hr 18 min | ~1,387 km | Avg 80 km/h, +30% route factor |
All times are estimates based on straight-line distance. Actual travel times vary by route, stops, and conditions.
| From | Shanghai, China |
| To | Beijing, China |
| Straight-line Distance | 1,067 km (663 miles) |
| Bearing | 336° (NNW) |
| Coordinates (Shanghai) | 31.2304°, 121.4737° |
| Coordinates (Beijing) | 39.9042°, 116.4074° |
The straight-line (as the crow flies) distance from Shanghai to Beijing is 1,067 km (663 miles). Beijing is NNW of Shanghai.
A direct flight from Shanghai to Beijing takes approximately 1 hr 48 min, based on an average cruising speed of 800 km/h plus time for takeoff and landing.
Driving from Shanghai to Beijing takes approximately 17 hr 18 min. This estimate assumes an average speed of 80 km/h with a 30% route factor for indirect roads. Actual time will vary based on road conditions, traffic, and the specific route taken.
Beijing is NNW (336 degrees) from Shanghai.
The distance from Beijing to Shanghai is the same: 1,067 km (663 miles). Distance between two points is the same in either direction.
Distances calculated using the Haversine formula (great-circle distance). Travel time estimates are approximate.
Coordinates sourced from public geographic databases.