EN RO

Distance from Batam to Surabaya

Straight line

1,342 km
834 mi · 725 NM

By road

2,312 km
1,437 mi

Travel time

55 h 24 min
flight ≈ 2 h 11 min

Direction

SE 134°
initial bearing

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

How far is Batam from Surabaya?

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

By road, Batam to Surabaya is 2,312 km (1,437 miles), about 55 h 24 min by car on the fastest route, without traffic or stops. The road is 72% longer than the straight line.

From Batam, Surabaya lies to the south-east (initial bearing 134°). Both cities are in Indonesia. The halfway point is at -3.0587°, 108.3708°.

A direct flight would take about 2 h 11 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 Batam from Surabaya?

By road it is 2,312 km (1,437 miles) from Batam to Surabaya; in a straight line it is 1,342 km (834 miles).

How long is the drive from Batam to Surabaya?

About 55 h 24 min on the fastest route (2,312 km), without traffic or stops.

In which direction is Surabaya from Batam?

Surabaya is to the south-east of Batam, at an initial bearing of 134°.

How long is the flight from Batam to Surabaya?

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