How to travel from Semarang to Yogyakarta, Indonesia

The distance between Semarang and Yogyakarta is around 123km (76 miles) and the quickest way to get there is to take a taxi which takes around 1h 50m.

5 routes found

We've found 5 different ways to get from Semarang to Yogyakarta by bus, train, taxi and car. The recommended routes, which include information on duration, ticket price, and level of difficulty, can be found below.

👋 Also check out YogyakartaSemarang if you're planning a return trip.

💰 Cheapest
1
bus
+

Bus

Take the bus to Yogyakarta.

  • Duration3hrs
  • Departsevery 4 hours
  • Typical cost
    IDR 74,890($5)
Operated by

Rama Sakti

2
train
+
train
+

Train

Take the train to Solobalapan and then to Yogyakarta.

  • Duration3h 20m
  • Departstwice daily
  • Typical cost
    IDR 299,560($20)
Operated by

Kereta API

1 similiar route

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

🚀 Fastest
3
taxi
+

Taxi

Take a taxi to Yogyakarta.

  • Duration1h 50m
  • Departson demand
  • Typical cost
    IDR 674,010($45)
Operated by

Grab Taxi

+ 2 others
4
car
+

Drive

Drive to Yogyakarta.

  • Duration1h 50m
  • Distance123km (76 miles)
Get turn-by-turn directions

Frequently asked questionsabout travel between Semarang and Yogyakarta

There are several options for getting from Semarang to Yogyakarta by bus, train, taxi and car. The cheapest option is to take the bus which costs around IDR 74,890 ($5) and will take around 3hrs. If you need to get there more quickly, you can take a taxi and arrive in approximately 1h 50m, though it is a bit more costly at approximately IDR 674,010 ($45).

The distance between Semarang and Yogyakarta is around 123km (76 miles). In a direct line (as the crow flies), the distance is 110km (68 miles)

It takes around 3hrs to get from Semarang and Yogyakarta by bus. If you are travelling by car it will take around 1h 50m to drive there.

The quickest way to get from Semarang to Yogyakarta is to take a taxi which takes around 1h 50m and will set you back approx IDR 674,010 ($45).

The cheapest way to travel between Semarang and Yogyakarta, if you exclude driving, is to take the bus which will typically cost around IDR 74,890 ($5) for a standard one-way ticket.

Train travel

Yes there is a train service that runs between Semarang and Yogyakarta. It typically takes around 3h 20m and departs twice daily.

Yes there is a direct train service that runs between Semarang and Yogyakarta with no changeovers required. The train runs once daily and takes 7h 30m.

Kereta API and Prambanan Ekspres run train services between Semarang and Yogyakarta. Trains depart twice daily and will take around 3h 20m, 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 Semarang and Yogyakarta. It typically takes around 3hrs and departs every 4 hours.

Yes there is a direct bus service that runs between Semarang and Yogyakarta with no changeovers required. The bus runs every 4 hours and takes 3hrs.

Rama Sakti run regular bus services between Semarang and Yogyakarta. Buses run every 4 hours and take around 3hrs on average but will vary depending on you book with.

Flights and Airlines

It doesn't look like you can fly directly from Semarang to Yogyakarta. We recommend that you take the bus to Yogyakarta. instead which will take 3hrs.

The closest major airport to Yogyakarta is Adisucipto Airport (JOG) (JOG) which is approximately 23km (14 miles) from Yogyakarta. Yogyakarta International Airport (YIA) (YIA) and Adisumarmo International Airport (SOC) (SOC) 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 Semarang and Yogyakarta. The distance is around 123km (76 miles) by road and it will take around 1h 50m in normal traffic conditons.

If you don't have a car, the easiest way to get from Semarang to Yogyakarta is to take the bus which takes, on average, 3hrs and will usually cost around IDR 74,890 ($5).

How do I get from Semarang to Yogyakarta

Compare travel optionsbetween Semarang and Yogyakarta

Transport options from Semarang to Yogyakarta
Transport optionDurationCostFrequencyDistance
Bus
3hrs
IDR 74,890($5)
every 4 hours123km (77 miles)
Train + 1 similar
3h 20m
IDR 299,560($20)
twice daily168km (105 miles)
Train to Yogyakarta7h 30m
IDR 209,690($14)
once daily406km (252 miles)
Taxi
1h 50m
IDR 674,010($45)
on demand123km (76 miles)
Drive
1h 50m
IDR 209,690($14)
on demand123km (76 miles)

Top Carriersoperating between Semarang and Yogyakarta

Train operators

Bus companies

Airports near Yogyakarta

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

JOG
Adisucipto Airport (JOG)
International Airport
Distance
23km (14 miles) from Yogyakarta
YIA
Yogyakarta International Airport (YIA)
International Airport
Distance
35km (22 miles) from Yogyakarta
SOC
Adisumarmo International Airport (SOC)
International Airport
Distance
67km (41 miles) from Yogyakarta