EN RO

Distance from Surabaya to Semarang

Straight line

259 km
161 mi · 140 NM

By road

317 km
197 mi

Travel time

3 h 51 min
flight ≈ 49 min

Direction

W 276°
initial bearing

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

How far is Surabaya from Semarang?

Surabaya (Indonesia) and Semarang (Indonesia) are a medium distance apart: 259 km in a straight line, that is 161 miles or 140 nautical miles. The distance is measured over the Earth's surface (WGS84 ellipsoid) along the shortest possible path.

By road, Surabaya to Semarang is 317 km (197 miles), about 3 h 51 min by car on the fastest route, without traffic or stops. The road is 22% longer than the straight line.

From Surabaya, Semarang lies to the west (initial bearing 276°). Both cities are in Indonesia. The halfway point is at -7.1226°, 111.5855°.

A direct flight would take about 49 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 Semarang?

By road it is 317 km (197 miles) from Surabaya to Semarang; in a straight line it is 259 km (161 miles).

How long is the drive from Surabaya to Semarang?

About 3 h 51 min on the fastest route (317 km), without traffic or stops.

In which direction is Semarang from Surabaya?

Semarang is to the west of Surabaya, at an initial bearing of 276°.

How long is the flight from Surabaya to Semarang?

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