EN RO

Distance from Bengaluru to Shanghai

Straight line

4,915 km
3,054 mi · 2,654 NM

By road

6,639 km
4,125 mi

Travel time

79 h 37 min
flight ≈ 6 h 39 min

Direction

ENE 58°
initial bearing

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

How far is Bengaluru from Shanghai?

Bengaluru (India) and Shanghai (China) are very far apart: 4,915 km in a straight line, that is 3,054 miles or 2,654 nautical miles. The distance is measured over the Earth's surface (WGS84 ellipsoid) along the shortest possible path.

By road, Bengaluru to Shanghai is 6,639 km (4,125 miles), about 79 h 37 min by car on the fastest route, without traffic or stops. The road is 35% longer than the straight line.

From Bengaluru, Shanghai lies to the north-east (initial bearing 58°). The route crosses from India into China. The halfway point is at 23.6305°, 98.0217°.

A direct flight would take about 6 h 39 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 Bengaluru from Shanghai?

By road it is 6,639 km (4,125 miles) from Bengaluru to Shanghai; in a straight line it is 4,915 km (3,054 miles).

How long is the drive from Bengaluru to Shanghai?

About 79 h 37 min on the fastest route (6,639 km), without traffic or stops.

In which direction is Shanghai from Bengaluru?

Shanghai is to the north-east of Bengaluru, at an initial bearing of 58°.

How long is the flight from Bengaluru to Shanghai?

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