The distance between Jakarta and Semarang is around 435km (271 miles) and the quickest way to get there is to take a taxi which takes around 4h 45m.
We've found 5 different ways to get from Jakarta to Semarang by train, bus, taxi and car. The recommended routes, which include information on duration, ticket price, and level of difficulty, can be found below.
👋 Also check out Semarang → Jakarta if you're planning a return trip.
Take the train to Semarang Tawang.
Kereta API
1 similiar route
We’ve grouped similar routes together, click the arrows to see the other options.
Take the bus to Kota Semarang.
Damri
+ 1 othersTake a taxi to Semarang.
Grab Taxi
+ 2 othersThere are several options for getting from Jakarta to Semarang by train, bus, taxi and car. The cheapest option is to take the train which costs around IDR 209,690 ($14) and will take around 6h 25m. If you need to get there more quickly, you can take a taxi and arrive in approximately 4h 45m, though it is a bit more costly at approximately IDR 2,246,695 ($150).
The distance between Jakarta and Semarang is around 435km (271 miles). In a direct line (as the crow flies), the distance is 407km (253 miles)
It takes around 5hrs to get from Jakarta and Semarang by train. If you are travelling by car it will take around 4h 45m to drive there.
The quickest way to get from Jakarta to Semarang is to take a taxi which takes around 4h 45m and will set you back approx IDR 2,246,695 ($150).
The cheapest way to travel between Jakarta and Semarang, if you exclude driving, is to take the train which will typically cost around IDR 209,690 ($14) for a standard one-way ticket.
Yes there is a train service that runs between Jakarta and Semarang. It typically takes around 5hrs and departs every 4 hours.
Yes there is a direct train service that runs between Jakarta and Semarang with no changeovers required. The train runs every 20 mins and takes 6h 25m.
Kereta API run train services between Jakarta and Semarang. Trains depart every 4 hours and will take around 5hrs, however, this may vary depending on the particular service and whether it runs express or stops all stations.
Yes there is a bus that runs regularly from Jakarta and Semarang. It typically takes around 7hrs and departs once daily.
Yes there is a direct bus service that runs between Jakarta and Semarang with no changeovers required. The bus runs once daily and takes 7hrs.
Damri and Nusantara run regular bus services between Jakarta and Semarang. Buses run once daily and take around 7hrs on average but will vary depending on you book with.
It doesn't look like you can fly directly from Jakarta to Semarang. We recommend that you take the train to Semarang Tawang. instead which will take 5hrs.
The closest major airport to Semarang is Achmad Yani International Airport (SRG) (SRG) which is approximately 5km (3 miles) from Semarang. Adisumarmo International Airport (SOC) (SOC) and Adisucipto Airport (JOG) (JOG) are also nearby and might be a better alternative airport depending on where you are flying from.
Yes it is possible to drive from Jakarta and Semarang. The distance is around 435km (271 miles) by road and it will take around 4h 45m in normal traffic conditons.
If you don't have a car, the easiest way to get from Jakarta to Semarang is to take the train which takes, on average, 5hrs and will usually cost around IDR 224,670 ($15).
Transport option | Duration | Cost | Frequency | Distance |
---|---|---|---|---|
Train + 1 similar | 5hrs | IDR 224,670($15) | every 4 hours | 444km (276 miles) |
Train to Semarang Poncol | 6h 25m | IDR 209,690($14) | every 20 mins | 436km (271 miles) |
Bus | 7hrs | IDR 254,625($17) | once daily | 438km (272 miles) |
Taxi | 4h 45m | IDR 2,246,695($150) | on demand | 435km (271 miles) |
Drive | 4h 45m | IDR 733,920($49) | on demand | 435km (271 miles) |
Lion Mentari Airlines
Super Air Jet
Batik Air
Citilink Indonesia
Garuda Indonesia
JA Connexion (by Perum PPD)
Nusantara
Madona
Kereta API
The following major airports near Semarang offer regular flights to various popular destinations within Indonesia and internationally.