Distance Calculator

Batam, Indonesia → Surabaya, Indonesia

Distance Result

836 miles

1,345 km  |  726 nautical miles

Straight-line (great circle) distance

The distance from Batam to Surabaya is about 1,345 km (836 miles) as the crow flies, or 726 nautical miles.

This is the great-circle distance — the shortest path over the surface of the Earth, computed with the haversine formula from the coordinates of both cities. Road or rail distance is always longer, and the gap widens with every mountain range or coastline in between.

Putting the number to use

  • At a cruising speed near 800 km/h the airborne time is about 1.7 hours; add 30-45 minutes for taxi, climb and descent.
  • Time zone difference changes the arrival time on your ticket far more than the flying time does.
  • For shipping, use road or sea distance instead — great-circle figures understate real routes.

Driving

≈ 14h 57min

Estimated at 90 km/h average. Actual road distance is typically 15-30% longer than the straight line.

Flying

≈ 2h 20min

Estimated at 850 km/h cruising speed plus takeoff and landing time.

Route Map

🗺️
Load interactive map
Map © OpenStreetMap contributors

Frequently Asked Questions

The straight-line (great circle) distance between Batam and Surabaya is 836 miles (1,345 kilometers).

A direct flight from Batam to Surabaya takes approximately 2h 20min, based on an average cruising speed of 850 km/h plus takeoff and landing time.

Driving from Batam to Surabaya takes approximately 14h 57min, assuming an average speed of 90 km/h. Actual time depends on the route and traffic.