Distance from Shanghai to Surabaya
Straight line
By road
Travel time
Direction
Open in the calculator (stops, directions, fuel cost) → Surabaya → Shanghai
How far is Shanghai from Surabaya?
Shanghai (China) and Surabaya (Indonesia) 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.
There is no continuous road route between Shanghai and Surabaya, so the straight-line distance and the flight are the useful figures.
From Shanghai, Surabaya lies to the south (initial bearing 194°). The route crosses from China into Indonesia. 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).
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 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
Frequently asked questions
How far is Shanghai from Surabaya?
The straight-line distance between Shanghai and Surabaya is 4,357 km (2,707 miles). There is no continuous road route between them.
In which direction is Surabaya from Shanghai?
Surabaya is to the south of Shanghai, at an initial bearing of 194°.
How long is the flight from Shanghai to Surabaya?
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.