How to travel from Surakarta to Yogyakarta, Indonesia

The distance between Surakarta and Yogyakarta is around 59km (37 miles) and the quickest way to get there is to take the train which takes around 40min.

4 routes found

We've found 4 different ways to get from Surakarta to Yogyakarta 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 YogyakartaSurakarta if you're planning a return trip.

🚀 Fastest
1
train
+

Train

Take the train to Yogyakarta.

  • Duration40min
  • Departshourly
  • Typical cost
    IDR 149,780($10)
Operated by

Kereta API

+ 1 others
💰 Cheapest
2
bus
+

Bus

Take the bus to Yogyakarta.

  • Duration1h 20m
  • Departsevery 20 mins
  • Typical cost
    IDR 59,910($4)
Operated by

Rama Sakti

3
taxi
+

Taxi

Take a taxi to Yogyakarta.

  • Duration58min
  • Departson demand
  • Typical cost
    IDR 359,470($24)
Operated by

Taksi Gelora

+ 1 others
4
car
+

Drive

Drive to Yogyakarta.

  • Duration58min
  • Distance67km (42 miles)
Get turn-by-turn directions

Frequently asked questionsabout travel between Surakarta and Yogyakarta

There are several options for getting from Surakarta to Yogyakarta by train, bus, taxi and car. The cheapest option is to take the bus which costs around IDR 59,910 ($4) and will take around 1h 20m. If you need to get there more quickly, you can take the train and arrive in approximately 40min, though it is a bit more costly at approximately IDR 149,780 ($10).

The distance between Surakarta and Yogyakarta is around 59km (37 miles). In a direct line (as the crow flies), the distance is 68km (42 miles)

It takes around 40min to get from Surakarta and Yogyakarta by train. If you are travelling by car it will take around 58min to drive there.

The quickest way to get from Surakarta to Yogyakarta is to take the train which takes around 40min and will set you back approx IDR 149,780 ($10).

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

Train travel

Yes there is a train service that runs between Surakarta and Yogyakarta. It typically takes around 40min and departs hourly.

Yes there is a direct train service that runs between Surakarta and Yogyakarta with no changeovers required. The train runs hourly and takes 40min.

Kereta API and Prambanan Ekspres run train services between Surakarta and Yogyakarta. Trains depart hourly and will take around 40min, 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 Surakarta and Yogyakarta. It typically takes around 1h 20m and departs every 20 mins.

Yes there is a direct bus service that runs between Surakarta and Yogyakarta with no changeovers required. The bus runs every 20 mins and takes 1h 20m.

Rama Sakti run regular bus services between Surakarta and Yogyakarta. Buses run every 20 mins and take around 1h 20m on average but will vary depending on you book with.

Flights and Airlines

It doesn't look like you can fly directly from Surakarta to Yogyakarta. We recommend that you take the train to Yogyakarta. instead which will take 40min.

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 Surakarta and Yogyakarta. The distance is around 67km (42 miles) by road and it will take around 58min in normal traffic conditons.

If you don't have a car, the easiest way to get from Surakarta to Yogyakarta is to take the train which takes, on average, 40min and will usually cost around IDR 149,780 ($10).

How do I get from Surakarta to Yogyakarta

Compare travel optionsbetween Surakarta and Yogyakarta

Transport options from Surakarta to Yogyakarta
Transport optionDurationCostFrequencyDistance
Train
40min
IDR 149,780($10)
hourly59km (37 miles)
Bus
1h 20m
IDR 59,910($4)
every 20 mins66km (41 miles)
Taxi
58min
IDR 359,470($24)
on demand67km (42 miles)
Drive
58min
IDR 119,825($8)
on demand67km (42 miles)

Top Carriersoperating between Surakarta 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