EN RO

Distance from Surabaya to Bengaluru

Straight line

4,485 km
2,787 mi · 2,422 NM

By road

–
no road route

Travel time

–
flight ≈ 6 h 6 min

Direction

WNW 300°
initial bearing

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

How far is Surabaya from Bengaluru?

Surabaya (Indonesia) and Bengaluru (India) are very far apart: 4,485 km in a straight line, that is 2,787 miles or 2,422 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 Surabaya and Bengaluru, so the straight-line distance and the flight are the useful figures.

From Surabaya, Bengaluru lies to the north-west (initial bearing 300°). The route crosses from Indonesia into India. The halfway point is at 3.0013°, 95.3340°.

A direct flight would take about 6 h 6 min (800 km/h cruise plus take-off and landing).

Frequently asked questions

How far is Surabaya from Bengaluru?

The straight-line distance between Surabaya and Bengaluru is 4,485 km (2,787 miles). There is no continuous road route between them.

In which direction is Bengaluru from Surabaya?

Bengaluru is to the north-west of Surabaya, at an initial bearing of 300°.

How long is the flight from Surabaya to Bengaluru?

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