Borobudur Buddhist temple monument in Java Indonesia
Routes

Jakarta to Yogyakarta

Across Java by the fast new Whoosh and Argo trains.

By the Viamo editorial team · Editor Terje Moy · Last updated July 2026 · 6 min read

Fastest ~7–8h by direct train

At a glance Typical options on this route – details, caveats and booking advice below.
🚆 Train~7–8hArgo Lawu/Dwipangga direct from Gambir, executive class, overnight opt
🚆 Train~38–46min + ~7-8hWhoosh HSR to Bandung then onward train, longer total
✈️ Flight~1h10 airTo YIA, 40km from centre, transfer can exceed 1h
🚌 Bus~10–12hLong-distance coach, subject to traffic

Planning this trip? Currency converter · Jet-lag calculator · Trip budget · Compare routes

Jakarta and Yogyakarta sit roughly 550 kilometres apart across Java — home to Borobudur, the Prambanan temples and one of Indonesia's most vibrant cultural cities. You can reach Yogyakarta by the new Whoosh high-speed railway combined with a connecting train, by a comfortable Argo intercity service direct from Jakarta, or by a short flight. Here is how each option works.

The new option: Whoosh high-speed rail to Bandung, then onward

Indonesia launched the Whoosh (Kereta Cepat Jakarta–Bandung) high-speed rail service in 2023, linking Halim Station in East Jakarta with Padalarang and Tegalluar near Bandung in approximately 38–46 minutes. The service uses Chinese-built EMUs and is a genuine high-speed railway — a first for Southeast Asia.

However, Whoosh does not run all the way to Yogyakarta. From Bandung, you would need to take an onward train (KAI intercity service) or continue by road. The Bandung–Yogyakarta rail journey adds around 7–8 hours, making the total journey considerably longer than a direct train from Jakarta. The Whoosh is therefore most useful if you want to break the trip and spend time in Bandung, rather than as a faster way to reach Yogyakarta directly.

Whoosh requires advance booking through the Kereta Cepat Indonesia China (KCIC) website or app, and seat reservations are mandatory. Tickets should be purchased separately from your onward train.

Borobudur temple stone stupas under misty morning sky Java Indonesia

The practical direct option: Argo Lawu and Argo Dwipangga trains

For most travellers wanting to reach Yogyakarta directly, the best choice is one of the direct Argo intercity trains operated by PT Kereta Api Indonesia (KAI). Services including the Argo Lawu and Argo Dwipangga run between Gambir Station in central Jakarta and Yogyakarta Tugu Station, with journey times of approximately 7 to 8 hours. Both are air-conditioned executive-class trains with assigned seating.

Several other trains also make this journey at various quality levels — including economy, business and executive class — at different price points. Overnight services allow you to sleep your way across Java, arriving in Yogyakarta in the morning refreshed and ready to explore.

Tickets are sold online via the KAI Access app, the KAI website, or at station counters. Advance booking is strongly recommended, particularly for weekend travel and during Indonesian public holidays, when trains can sell out weeks in advance. Reservation is required on all long-distance KAI services.

Book early for holiday periods. Java's intercity trains sell out quickly around Lebaran (Eid al-Fitr) and other national holidays. If your travel dates are fixed, book as far ahead as possible.

The fastest option: flying

Multiple airlines serve the Jakarta–Yogyakarta route, typically flying into Yogyakarta International Airport (YIA) (also known as Kulon Progo Airport). Flight time is approximately 1 hour 10 minutes. Budget carriers often offer very competitive fares when booked ahead. The main drawback is that YIA is around 40 kilometres west of central Yogyakarta, and the transfer can take an hour or more by road. Add check-in, security and luggage collection, and the door-to-door time can extend to three hours or more.

Flying makes most sense when train tickets are fully booked, fares are unusually low, or you are travelling with a lot of luggage. For the journey itself, the overnight train is a more comfortable and often more memorable way to cross Java.

Road and bus

Long-distance coaches operate between Jakarta and Yogyakarta, but the journey is long — typically 10–12 hours or more by road, subject to significant variation with traffic through the city outskirts. For the same journey time, the train offers a better experience. Driving your own vehicle across Java is an option but not recommended for first-time visitors unfamiliar with Indonesian road conditions and traffic.

Arriving in Yogyakarta

Trains arrive at Tugu Station, conveniently located in central Yogyakarta within walking distance or a short becak (cycle-rickshaw) ride from the Malioboro tourist strip, the Kraton palace and many hotels. Tugu is one of the nicest station arrivals in Java — you step out and you are immediately in the city. By contrast, the airport requires a dedicated transfer.

Which should you choose?

For a direct journey to Yogyakarta, an Argo executive-class train is the clear recommendation for most travellers — comfortable, affordable, and arriving centrally. If you want to visit Bandung along the way, the Whoosh plus a Bandung–Yogyakarta train makes for a good multi-day route. Flying is only worth it if the train is unavailable or the price difference is substantial.

Comfort and luggage on the overnight train

Executive-class carriages on the Argo services have reclining seats, air conditioning and reasonable legroom by long-distance train standards, making the overnight journey genuinely restful rather than merely endurable. Business class is a step down in comfort but still perfectly workable for a shorter daytime trip, while economy class is more basic and better suited to travellers prioritising cost over comfort. Luggage racks are provided at the end of each carriage and above seats, but valuables are best kept close to hand overnight — as on any long-distance train, it's sensible to keep your bag looped through a strap or otherwise secured while you sleep. A light layer is worth packing, since air conditioning on Indonesian trains can run cold, especially for a journey spanning many hours.

Gambir Station: what to expect

Gambir is a large, well-organised station in central Jakarta, next to Merdeka Square and the National Monument, with security screening at the entrance similar to an airport — arrive at least 30–45 minutes before departure to allow for this and for finding your platform. The station has cafés, shops and clear electronic departure boards in both Indonesian and English. Tickets are checked electronically at the platform gate, so have your booking confirmation or ticket ready, whether printed or on your phone, along with identification matching the name on the booking, since KAI checks passenger names against ID for long-distance services.

First-timer's tips for travelling by rail in Java

Frequently asked questions

How long does the train from Jakarta to Yogyakarta take?

Direct Argo trains take approximately 7 to 8 hours. Overnight services allow you to sleep across much of the journey, arriving in the morning.

Does the Whoosh high-speed train go all the way to Yogyakarta?

No. Whoosh runs between Jakarta (Halim) and the Bandung area. From Bandung, you need a separate onward train to Yogyakarta, adding significantly to total journey time.

Which Jakarta station do direct trains to Yogyakarta leave from?

Most Argo and executive services depart from Gambir Station, in central Jakarta near the National Monument (Monas). Some services also depart from Pasar Senen.

How do I book train tickets in Indonesia?

Through the KAI Access app, the KAI website (kai.id), or at station ticket counters. International credit cards are accepted. Book as early as possible for popular routes and holiday periods.

Sources and further reading: