Estimated travel durations
The straight-line distance from Shanghai to Beijing is 1,067 kilometers (663 miles). This is the crow-flies distance calculated using the Haversine formula.
A direct flight from Shanghai to Beijing takes approximately 3h. This is an estimate based on an average cruising speed of 800 km/h and does not include boarding, taxiing or layover time.
Driving from Shanghai to Beijing would take approximately 11h at an average speed of 85 km/h. The actual driving time may vary depending on road conditions, traffic and border crossings.
The distance from Shanghai to Beijing is 663 miles (1,067 km) as the crow flies.