EN RO

Distance from Surabaya to Shanghai

Straight line

4,357 km
2,707 mi · 2,353 NM

By road

…
calculating

Travel time

…
flight ≈ 5 h 57 min

Direction

NNE 12°
initial bearing

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.

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.