Distance from Shanghai to Bengaluru
Straight line
By road
Travel time
Direction
Open in the calculator (stops, directions, fuel cost) → Bengaluru → Shanghai
How far is Shanghai from Bengaluru?
Shanghai (China) and Bengaluru (India) 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.
From Shanghai, Bengaluru lies to the west (initial bearing 256°). The route crosses from China into India. 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.
Other distances from Shanghai
- Shanghai – Kunshan 51 km
- Shanghai – Suzhou 83 km
- Shanghai – Changshu City 83 km
- Shanghai – Wuxi 118 km
- Shanghai – Ningbo 150 km
- Shanghai – Hangzhou 161 km
- Shanghai – Puyang 247 km
- Shanghai – Nanjing 270 km
- Shanghai – Hefei 402 km
Other distances from Bengaluru
- Bengaluru – Chennai 291 km
- Bengaluru – Tirunelveli 472 km
- Bengaluru – Hyderabad 499 km
- Bengaluru – Pune 735 km
- Bengaluru – Pimpri 748 km
- Bengaluru – Visakhapatnam 797 km
- Bengaluru – Aurangabad 804 km
- Bengaluru – Kalyān 844 km
- Bengaluru – Mumbai 845 km
Frequently asked questions
How far is Shanghai from Bengaluru?
The straight-line distance between Shanghai and Bengaluru is 4,915 km (3,054 miles). The road distance is longer and is calculated on the map.
In which direction is Bengaluru from Shanghai?
Bengaluru is to the west of Shanghai, at an initial bearing of 256°.
How long is the flight from Shanghai to Bengaluru?
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.