🇮🇩 Indonesia · Train · Flight · Bus
Jakarta to Yogyakarta by train, plane or bus
Jakarta to Yogyakarta is one of Java's busiest intercity routes, linking the capital with the island's cultural heart — the gateway to Borobudur and Prambanan. The train is the favourite for most travellers: comfortable, punctual and right into the city centre.
By train
Trains run by Indonesia's state railway (KAI) leave from Gambir (mostly executive class) and Pasar Senen (more economy and mixed classes) and arrive at Yogyakarta station (Tugu) in the centre or Lempuyangan a little to the east. The journey usually takes about 6–8 hours depending on the train. Day trains give you views of rice fields and volcanoes; night trains save a hotel night.
- Executive: reclining seats, air-conditioning, power sockets; the most comfortable choice.
- Business / premium economy: good value, slightly less legroom.
- Economy: cheapest, fixed seats.
Bring your passport: Indonesian train tickets are tied to your ID and checked at boarding.
By plane
Flights take about 1 hour 10 minutes from Jakarta (Soekarno-Hatta, and some from Halim) to Yogyakarta International Airport (YIA) in Kulon Progo. YIA is about 40–45 km west of the city; the airport train or a shuttle takes roughly an hour to central Yogyakarta. Door to door, flying is often only a little faster than the train.
By bus
Overnight buses use the Trans-Java toll road and usually take around 9–12 hours, depending on traffic. They are cheaper than executive trains and some offer sleeper-style seats, but traffic around Jakarta can add hours, especially on Friday nights and holidays.
Tips
- Trains sell out around school holidays, Christmas and Eid (Lebaran). Book early for those dates.
- Arrive at the station at least 30 minutes before departure for boarding checks.
- Fares change with class and date; see live prices on 12Go.
Want to understand Indonesian trains and night journeys better? Read our night bus & train tips and the Indonesia hub.
Frequently asked questions
How long is the train from Jakarta to Yogyakarta?
Usually about 6–8 hours, depending on the train and stops.
Which Jakarta station do trains to Yogyakarta leave from?
Mainly Gambir (executive trains) and Pasar Senen (economy and mixed classes).
Is it better to fly or take the train?
Flights are about 1 hour 10 minutes, but Yogyakarta's airport is roughly an hour from the city. Many travellers find the train more relaxing and similar in total time.
Do I need my passport for the train?
Yes. Tickets are issued in the passenger's name and ID is checked at the station.