EN RO

Distance from Shanghai to Surabaya

Straight line

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

By road

–
no road route

Travel time

–
flight ≈ 5 h 57 min

Direction

SSW 194°
initial bearing

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).

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.