EN RO

Distance from Surabaya to Batam

Straight line

1,342 km
834 mi · 725 NM

By road

2,312 km
1,437 mi

Travel time

55 h 22 min
flight ≈ 2 h 11 min

Direction

NW 314°
initial bearing

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

How far is Surabaya from Batam?

Surabaya (Indonesia) and Batam (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, Surabaya to Batam is 2,312 km (1,437 miles), about 55 h 22 min by car on the fastest route, without traffic or stops. The road is 72% longer than the straight line.

From Surabaya, Batam lies to the north-west (initial bearing 314°). 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 Surabaya from Batam?

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

How long is the drive from Surabaya to Batam?

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

In which direction is Batam from Surabaya?

Batam is to the north-west of Surabaya, at an initial bearing of 314°.

How long is the flight from Surabaya to Batam?

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.