How to travel from Jakarta to Semarang, Indonesia

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.

5 routes found

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 SemarangJakarta if you're planning a return trip.

1
train
+

Train

Take the train to Semarang Tawang.

  • Duration5hrs
  • Departsevery 4 hours
  • Typical cost
    IDR 224,670($15)
Operated by

Kereta API

1 similiar route

We’ve grouped similar routes together, click the arrows to see the other options.

2
bus
+

Bus

Take the bus to Kota Semarang.

  • Duration7hrs
  • Departsonce daily
  • Typical cost
    IDR 254,625($17)
Operated by

Damri

+ 1 others
🚀 Fastest
3
taxi
+

Taxi

Take a taxi to Semarang.

  • Duration4h 45m
  • Departson demand
  • Typical cost
    IDR 2,246,695($150)
Operated by

Grab Taxi

+ 2 others
4
car
+

Drive

Drive to Semarang.

  • Duration4h 45m
  • Distance435km (271 miles)
Get turn-by-turn directions

Frequently asked questionsabout travel between Jakarta and Semarang

There 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.

Train travel

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.

Bus travel

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.

Flights and Airlines

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.

Drive yourself

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).

How do I get from Jakarta to Semarang

Compare travel optionsbetween Jakarta and Semarang

Transport options from Jakarta to Semarang
Transport optionDurationCostFrequencyDistance
Train + 1 similar
5hrs
IDR 224,670($15)
every 4 hours444km (276 miles)
Train to Semarang Poncol6h 25m
IDR 209,690($14)
every 20 mins436km (271 miles)
Bus
7hrs
IDR 254,625($17)
once daily438km (272 miles)
Taxi
4h 45m
IDR 2,246,695($150)
on demand435km (271 miles)
Drive
4h 45m
IDR 733,920($49)
on demand435km (271 miles)

Top Carriersoperating between Jakarta and Semarang

Airlines

Bus companies

Train operators

Airports near Semarang

The following major airports near Semarang offer regular flights to various popular destinations within Indonesia and internationally.

SRG
Achmad Yani International Airport (SRG)
International Airport
Distance
5km (3 miles) from Semarang
SOC
Adisumarmo International Airport (SOC)
International Airport
Distance
69km (43 miles) from Semarang
JOG
Adisucipto Airport (JOG)
International Airport
Distance
88km (55 miles) from Semarang