EN RO

Distance from Shanghai to Belgrade

Straight line

8,419 km
5,231 mi · 4,546 NM

By road

10,779 km
6,698 mi

Travel time

128 h 23 min
flight ≈ 11 h 1 min

Direction

NW 314°
initial bearing

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

How far is Shanghai from Belgrade?

Shanghai (China) and Belgrade (Serbia) are very far apart: 8,419 km in a straight line, that is 5,231 miles or 4,546 nautical miles. The distance is measured over the Earth's surface (WGS84 ellipsoid) along the shortest possible path.

By road, Shanghai to Belgrade is 10,779 km (6,698 miles), about 128 h 23 min by car on the fastest route, without traffic or stops. The road is 28% longer than the straight line.

From Shanghai, Belgrade lies to the north-west (initial bearing 314°). The route crosses from China into Serbia. The halfway point is at 50.6829°, 77.4031°.

A direct flight would take about 11 h 1 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 Shanghai from Belgrade?

By road it is 10,779 km (6,698 miles) from Shanghai to Belgrade; in a straight line it is 8,419 km (5,231 miles).

How long is the drive from Shanghai to Belgrade?

About 128 h 23 min on the fastest route (10,779 km), without traffic or stops.

In which direction is Belgrade from Shanghai?

Belgrade is to the north-west of Shanghai, at an initial bearing of 314°.

How long is the flight from Shanghai to Belgrade?

A direct flight would take about 11 h 1 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.