EN RO

Distance from Shanghai to Tehran

Straight line

6,390 km
3,971 mi · 3,450 NM

By road

7,884 km
4,899 mi

Travel time

92 h 30 min
flight ≈ 8 h 29 min

Direction

WNW 295°
initial bearing

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

How far is Shanghai from Tehran?

Shanghai (China) and Tehran (Iran) are very far apart: 6,390 km in a straight line, that is 3,971 miles or 3,450 nautical miles. The distance is measured over the Earth's surface (WGS84 ellipsoid) along the shortest possible path.

By road, Shanghai to Tehran is 7,884 km (4,899 miles), about 92 h 30 min by car on the fastest route, without traffic or stops. The road is 23% longer than the straight line.

From Shanghai, Tehran lies to the north-west (initial bearing 295°). The route crosses from China into Iran. The halfway point is at 38.8961°, 87.4756°.

A direct flight would take about 8 h 29 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 Tehran?

By road it is 7,884 km (4,899 miles) from Shanghai to Tehran; in a straight line it is 6,390 km (3,971 miles).

How long is the drive from Shanghai to Tehran?

About 92 h 30 min on the fastest route (7,884 km), without traffic or stops.

In which direction is Tehran from Shanghai?

Tehran is to the north-west of Shanghai, at an initial bearing of 295°.

How long is the flight from Shanghai to Tehran?

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