EN RO

Distance from Jakarta to Surabaya

Straight line

663 km
412 mi · 358 NM

By road

746 km
463 mi

Travel time

9 h 14 min
flight ≈ 1 h 20 min

Direction

E 100°
initial bearing

Open in the calculator (stops, directions, fuel cost) → Surabaya → Jakarta

How far is Jakarta from Surabaya?

Jakarta (Indonesia) and Surabaya (Indonesia) are quite far apart: 663 km in a straight line, that is 412 miles or 358 nautical miles. The distance is measured over the Earth's surface (WGS84 ellipsoid) along the shortest possible path.

By road, Jakarta to Surabaya is 746 km (463 miles), about 9 h 14 min by car on the fastest route, without traffic or stops. The road is 13% longer than the straight line.

From Jakarta, Surabaya lies to the east (initial bearing 100°). Both cities are in Indonesia. The halfway point is at -6.7408°, 109.7948°.

A direct flight would take about 1 h 20 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 Jakarta from Surabaya?

By road it is 746 km (463 miles) from Jakarta to Surabaya; in a straight line it is 663 km (412 miles).

How long is the drive from Jakarta to Surabaya?

About 9 h 14 min on the fastest route (746 km), without traffic or stops.

In which direction is Surabaya from Jakarta?

Surabaya is to the east of Jakarta, at an initial bearing of 100°.

How long is the flight from Jakarta to Surabaya?

A direct flight would take about 1 h 20 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.