Distance from Surabaya to Shanghai
Straight line
By road
Travel time
Direction
Open in the calculator (stops, directions, fuel cost) → Shanghai → Surabaya
How far is Surabaya from Shanghai?
Surabaya (Indonesia) and Shanghai (China) are very far apart: 4,357 km in a straight line, that is 2,707 miles or 2,353 nautical miles. The distance is measured over the Earth's surface (WGS84 ellipsoid) along the shortest possible path.
From Surabaya, Shanghai lies to the north (initial bearing 12°). The route crosses from Indonesia into China. The halfway point is at 12.0200°, 116.7813°.
A direct flight would take about 5 h 57 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 Surabaya
- Surabaya – Semarang 259 km
- Surabaya – Bandung 569 km
- Surabaya – Bekasi 646 km
- Surabaya – Depok 662 km
- Surabaya – Jakarta 662 km
- Surabaya – South Tangerang 675 km
- Surabaya – Tangerang 686 km
- Surabaya – Makassar 775 km
- Surabaya – Palembang 1,009 km
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
Frequently asked questions
How far is Surabaya from Shanghai?
The straight-line distance between Surabaya and Shanghai is 4,357 km (2,707 miles). The road distance is longer and is calculated on the map.
In which direction is Shanghai from Surabaya?
Shanghai is to the north of Surabaya, at an initial bearing of 12°.
How long is the flight from Surabaya to Shanghai?
A direct flight would take about 5 h 57 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.