Distance from Semarang to Surabaya
How far is it from Semarang to Surabaya? About 161 mi in a straight line and 209 mi by road. Driving time, flight time, midpoint and route details.
Semarang and Surabaya are about 161 mi (259 km) apart in a straight line. By road that works out to roughly 209 mi (336 km), a drive of about 3 hr 44 min. A nonstop flight covers the great-circle distance in approximately 48 min.
| Straight-line distance | 161 mi / 259 km |
| Road distance (est.) | 209 mi / 336 km |
| Driving time (est.) | 3 hr 44 min |
| Nonstop flight (est.) | 48 min |
| Driving fuel (est., 1-way) | $26 |
| Typical flight fare | $80–$250 |
| Geographic midpoint | -7.123, 111.585 |
How these estimates work
Straight-line distance uses the haversine formula on each city's coordinates. Road distance applies a circuity factor (~1.2–1.4×) and driving time a blended average speed. Flight time uses typical jet cruise speed plus ~30 minutes for taxi, climb and descent. Treat all figures as planning estimates.
Frequently asked questions
Semarang to Surabaya is about 161 mi (259 km) in a straight line, and roughly 209 mi (336 km) by road.