Indonesia's rail network is largely confined to the island of Java, where the state operator PT Kereta Api Indonesia (KAI) runs an extensive and well-used system linking Jakarta to Yogyakarta, Surabaya and dozens of cities in between. Java's trains range from fast air-conditioned eksekutif expresses to affordable ekonomi services — and since 2023 a brand-new high-speed line has cut the journey between Jakarta and Bandung to under an hour. Here is how to use it.
The network: where trains go in Indonesia
Rail travel in Indonesia is effectively a story about Java. The island stretches roughly 1,000 km from end to end, from Jakarta in the west to Banyuwangi in the east, and trains serve most major cities along that corridor. There is a limited network on Sumatra (covering parts of Aceh, North Sumatra and South Sumatra), but it is separate and much less extensive. Bali, Kalimantan, Sulawesi and the other major islands have no passenger rail services.
On Java, the two main trunk routes are:
- Jakarta – Cirebon – Yogyakarta – Solo – Surabaya (northern route via Semarang)
- Jakarta – Bandung – Yogyakarta – Surabaya (southern/mountain route)
Key stations include Gambir (central Jakarta's main station for long-distance trains), Pasar Senen (also Jakarta, for ekonomi-class trains), Yogyakarta (also called Tugu), Solo Balapan, and Surabaya Gubeng.

Train classes: eksekutif, bisnis and ekonomi
KAI divides its long-distance services into three main classes:
- Eksekutif: The premium class, with wide reclining seats (typically 2+2 layout), air-conditioning and a quieter ride. Most overnight services have eksekutif cars. This is the recommended class for long journeys and is still very affordable by international standards.
- Bisnis (business): A middle tier, now less common as KAI has phased it out on many routes in favour of eksekutif or ekonomi premium. Seats are decent but less padded than eksekutif.
- Ekonomi and Ekonomi Premium: Economy class, with 2+3 seating, air-conditioning on most trains, and the lowest fares. Ekonomi Premium has slightly better seats. On the busiest city commuter trains, there is also a non-reserved ekonomi option, but for long-distance intercity travel you book a specific seat.
All long-distance seats on KAI trains are reserved — you buy a ticket for a specific train, date, and seat. There is no walk-up boarding for long-distance services.
The Whoosh: Jakarta to Bandung at high speed
In October 2023, Indonesia launched Kereta Cepat Whoosh (KCIC), Southeast Asia's first high-speed rail line, linking Halim station in East Jakarta with Tegalluar station near Bandung. The journey covers around 140 km in approximately 40–45 minutes, compared with 2.5–3.5 hours on the conventional train and potentially much longer by road.
The Whoosh is operated by KCIC (Kereta Cepat Indonesia-China), a joint venture with Chinese partners, and runs Chinese-built CR400AF trainsets similar to those used on China's high-speed network. Services depart from Halim, which is not Jakarta's main train hub — travellers coming from central Jakarta need to add a connection from Gambir. Bandung's Tegalluar station is similarly on the outskirts; shuttle connections and taxis serve the city centre. KAI's Access app and ticket offices handle booking.
Whoosh vs conventional train to Bandung: The Whoosh's dramatic time saving is real, but factor in the connections at both ends. Halim is accessible from central Jakarta by feeder train; Tegalluar requires onward transport into Bandung. The conventional train from Gambir to Bandung Kota station drops you more centrally. For a quick day trip to Bandung, the Whoosh is hard to beat; for an arrival at Bandung's centre with luggage, the conventional train may be simpler.
The Jakarta – Yogyakarta corridor
One of the most popular long-distance train journeys on Java is the route from Jakarta to Yogyakarta — the cultural heart of Java and the main base for visiting Borobudur and Prambanan. For a closer look at this route and what to expect, see our guide to Jakarta to Yogyakarta by train.
The journey takes around 7–9 hours depending on the service. Several named expresses run the route, with eksekutif seating covering the distance comfortably overnight or by day. The most popular daytime services sell out well in advance at weekends; overnight trains let you sleep through the journey and arrive fresh.
Yogyakarta to Surabaya
From Yogyakarta, trains continue east to Solo (Surakarta) in about 1 hour and Surabaya in around 4–5 hours. Multiple daily services cover this leg; the Argo Bromo Anggrek and similar named trains are the fastest options. Surabaya's main long-distance station is Surabaya Gubeng.
Between Yogyakarta and Surabaya, the landscape flattens into the eastern Java plain, with the volcanic profile of Mount Semeru and the Tengger massif visible to the south on clear days. A day train gives a good view of rural Java; overnight services save time for those in a hurry.
Booking: KAI Access app and websites
Tickets for all KAI trains — including the Whoosh — can be booked through the Access by KAI app (available for Android and iOS). The app is in Indonesian and English; payment can be made by card, bank transfer or several Indonesian payment gateways. Tickets can also be bought at station ticket windows (loket) and at Indomaret/Alfamart convenience stores with a booking code.
Seats become available 90 days in advance. Popular trains around Indonesian public holidays — particularly Lebaran (Eid al-Fitr) and Christmas/New Year — sell out very quickly, sometimes within hours of opening. If you are travelling at these times, book as soon as the window opens. For other periods, booking a week or two ahead is generally sufficient for eksekutif class; ekonomi seats on popular routes can also sell out.
Lebaran warning: Around Eid al-Fitr (the end of Ramadan), trains across Java are in extraordinary demand as millions of Indonesians travel home for the holiday. Fares spike and availability is extremely limited. Avoid travelling by train around this period if possible, or book months in advance.
The Bandung scenic route
The conventional train from Jakarta to Bandung via the mountain route is slower than the Whoosh but genuinely scenic, climbing through tea plantations and the Priangan highlands. Services run from Gambir to Bandung Kota in around 2.5–3.5 hours depending on the service. The Argo Parahyangan is the most-used express on this route, running multiple times daily. The journey is popular as a day trip, and Bandung itself is known for its Dutch colonial architecture, factory-outlet shopping and cooler highland climate.
Practical notes for travellers
- Arrive early: KAI is strict about departure times. Arrive at the station platform at least 15 minutes before departure; the doors close and the train will leave on time.
- ID required: Your booking is linked to your passport or ID number. Carry your passport when travelling and be prepared to show it when boarding.
- Food and drink: Eksekutif trains usually have a dining car or at-seat food service. On longer journeys, hawkers sometimes board at intermediate stations selling snacks and drinks.
- Luggage: No strict weight limits on long-distance trains, but bags must fit in the overhead racks or under the seat. There is no separate luggage van.
Frequently asked questions
Which island in Indonesia has a train network?
Java has by far the most developed rail network, run by KAI, connecting Jakarta, Bandung, Yogyakarta, Solo and Surabaya. Sumatra has a limited and separate network. Bali, Kalimantan, Sulawesi and most other islands have no passenger trains.
What is the Whoosh train in Indonesia?
The Whoosh (Kereta Cepat Whoosh/KCIC) is Southeast Asia's first high-speed rail line, opened in 2023. It connects Jakarta's Halim station to Tegalluar near Bandung in around 40–45 minutes at speeds up to 350 km/h.
How do I book KAI trains in Indonesia?
Use the Access by KAI app, the KAI website, station ticket windows, or Indonesian convenience stores. Seats open 90 days in advance. Book early for holiday periods, as trains can sell out very quickly.
Do I need to reserve a seat in advance on Indonesian trains?
Yes, for all long-distance intercity trains. Every ticket is for a specific seat on a specific service; there is no walk-up boarding for long-distance routes.
Sources and further reading:
- Timetables and booking: PT Kereta Api Indonesia, KAI Access app (kai.id).
- Whoosh high-speed rail: KCIC (kcic.co.id).
- Background on Java's rail network: The Man in Seat 61.
