Estimated travel durations
The straight-line distance from Beijing to Shanghai is 1,067 kilometers (663 miles). This is the crow-flies distance calculated using the Haversine formula.
A direct flight from Beijing to Shanghai 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 Beijing to Shanghai 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 Beijing to Shanghai is 663 miles (1,067 km) as the crow flies.