On this page
- Why the Train Beats the Bus and Plane on Java
- Four Scenic KAI Routes Worth Riding
- How to Book KAI Tickets Step by Step
- Choosing a Class and Boarding Smoothly
- Getting to the Station: Airport Links in Jakarta and Yogyakarta
- Jakarta City Transport for Train Connections
- What Has Changed Since 2024
- 2026 Budget Reality
- When the Train Is Not the Answer
- Common Mistakes to Avoid
- Frequently Asked Questions
Java’s roads are some of the most crowded in Southeast Asia. A bus ride that looks like four hours on the map can easily become eight when a toll road jams up or a holiday weekend begins. In 2026, the most reliable way to cross the Island is still the train. PT Kereta Api Indonesia (KAI) runs an extensive intercity network that skips the traffic and gives you a window seat on volcanoes, rice terraces and village life. This guide covers the best scenic routes, how to book, how to connect with other transport, and what it all costs.
Why the Train Beats the Bus and Plane on Java
KAI intercity trains are generally punctual and comfortable. They avoid the congestion that slows buses and cars, and you can stand up, stretch, buy a snack and watch the island go by. There are three classes: Executive (Eksekutif), Business (Bisnis) and Economy (Ekonomi). Each has a different level of comfort and amenities, so you can match the ride to your budget.
The train also shows you daily Indonesian life in a way a plane never can. Think of motorbikes waiting at level crossings, farmers bent over bright green paddies, and schoolchildren waving from the tracks. Many travellers say that is the real reason to ride, more than the speed.
Four Scenic KAI Routes Worth Riding
Jakarta to Bandung: Mountains and Tea Country
The Argo Parahyangan runs from Gambir Station in Jakarta to Bandung Station in about 2.5 to 3 hours. This is the most dramatic change of scenery on Java. The city sprawl falls away and the train winds through mountainous terrain, over bridges and through tunnels, with lush tea plantations on the slopes. The air through the window turns noticeably cooler and fresher as you climb into the highlands.
- Executive: IDR 150,000 – 250,000
- Economy: IDR 90,000 – 150,000
Bandung to Yogyakarta: Rice Fields and Rolling Hills
Trains such as the Argo Wilis, Turangga and Lodaya run from Bandung Station to Yogyakarta Tugu Station. Expect roughly 6.5 to 8 hours. The route passes verdant rice fields, small villages and rolling hills. On the southern route, such as the Argo Wilis, you may catch glimpses of the southern coast. Bring a book, but you will probably spend most of the trip looking out of the window.
- Executive: IDR 300,000 – 500,000
- Business: IDR 250,000 – 400,000
- Economy: IDR 180,000 – 300,000
Yogyakarta to Surabaya: Flat Farmland and Wide Skies
The Sancaka, Argo Wilis and Turangga link Yogyakarta Tugu Station with Surabaya Gubeng Station in about 4.5 to 6 hours. The landscape is flatter, with expansive rice paddies and farmland, and some industrial areas as you approach Surabaya. It is less dramatic than the Bandung routes, but it is a good daytime ride if you want to see how Java feeds itself.
- Executive: IDR 250,000 – 450,000
- Business: IDR 200,000 – 350,000
- Economy: IDR 120,000 – 250,000
Jakarta to Surabaya: The Full Cross-Java Journey
This is the long one, about 8.5 to 11 hours on day or overnight trains. The Argo Bromo Anggrek and Sembrani run from Gambir to Surabaya Pasar Turi. The Bima goes to Surabaya Gubeng. You get a mix of urban, rural and coastal views, depending on the train and its route. The Argo Bromo Anggrek is the premium express service.
- Executive: IDR 450,000 – 750,000+
- Business: IDR 350,000 – 600,000
- Economy: IDR 250,000 – 450,000
How to Book KAI Tickets Step by Step
The KAI Access app is the recommended way to book. It is the official KAI application.
- Download “KAI Access” from the Google Play Store or Apple App Store.
- Register an account with your email and phone number.
- Select “Intercity Train” (Kereta Api Antar Kota).
- Enter your origin station, destination station, departure date and number of passengers.
- Choose your preferred train, class and seat.
- Fill in passenger details: full name, ID type (passport for foreigners) and ID number.
- Go to payment. Options typically include credit or debit cards, virtual accounts, e-wallets such as OVO and GoPay, or retail outlets (Indomaret, Alfamart).
- Receive your e-ticket in the app. The QR code is enough for boarding.
You have other options if the app gives you trouble. The official website is booking.kai.id, and the process is similar. Traveloka and Tiket.com also sell KAI tickets, often at similar prices with similar payment options. You can also buy tickets at station counters or at Indomaret and Alfamart.
Book well in advance, especially for Executive class and popular routes during peak seasons such as holidays.
Choosing a Class and Boarding Smoothly
Executive (Eksekutif) has reclining seats, air conditioning, power outlets and more legroom. Overnight trains often include a pillow and blanket. For the 8.5 to 11 hour Jakarta to Surabaya run, this is the class most travellers prefer.
Business (Bisnis) has non-reclining seats arranged face-to-face or side-by-side, with air conditioning and less legroom than Executive.
Economy (Ekonomi) has fixed, upright seats, often in a 3-2 configuration, with air conditioning. Some newer Economy trains, such as Premium Economy, offer more comfortable reclining seats.
Food and drinks are on sale in all classes, and you can bring your own.
For boarding, arrive at the station at least 30 to 60 minutes before departure. Show your e-ticket (the QR code in the KAI Access app) or a printed ticket, plus a valid ID, which is your passport if you are a foreigner. The gate officer checks them, and then you go to your platform and carriage.
Getting to the Station: Airport Links in Jakarta and Yogyakarta
If you are flying into Java, two airports have good rail links.
Jakarta: Soekarno-Hatta (CGK)
- Airport Rail Link (Railink): Connects CGK to BNI City Station in central Jakarta and to Manggarai Station, a major KRL hub. It takes about 50 minutes to BNI City and costs about IDR 70,000 – 100,000.
- DAMRI airport buses: Connect CGK to various points in Jakarta and surrounding areas.
- Gojek or Grab: Cars and bikes are readily available from the airport.
Yogyakarta: Yogyakarta International Airport (YIA)
- YIA Airport Train: Runs directly to Yogyakarta Tugu Station in about 35 to 40 minutes, for roughly IDR 20,000 – 50,000. This is useful because Tugu is where your onward intercity trains leave from.
- DAMRI airport buses and SatelQu: Serve various locations.
- Gojek or Grab: Available.
Jakarta City Transport for Train Connections
Most Java rail trips begin or end in Jakarta, so it helps to know the city network.
- KRL Commuterline (Jabodetabek): An extensive electric commuter rail network serving Jakarta and its satellite cities of Bogor, Depok, Tangerang and Bekasi. You need an e-money card (Flazz BCA, Mandiri e-money, BNI TapCash or BRI Brizzi) or a KMT (Kartu Multi Trip) from KAI Commuter. Tap in at entry and tap out at exit. Fares are IDR 3,000 for the first 25 km, then IDR 1,000 for every subsequent 10 km, with a maximum typically around IDR 5,000-8,000. Trains come every 5 to 15 minutes at peak hours.
- Jakarta MRT: The North-South line runs from Bundaran HI to Lebak Bulus. Use e-money cards or QR tickets bought in the MRT Jakarta app. Fares range from IDR 3,000 to 16,000 depending on distance.
- Jakarta LRT: The Jakarta LRT (Velodrome to Pegangsaan Dua) costs a flat IDR 5,000. The Jabodebek LRT connects Jakarta to Bekasi and Cibubur. It costs IDR 5,000 for the first km, then IDR 700 per km, with a maximum of IDR 20,000 – 25,000. Both use e-money cards.
- Trans-Jakarta BRT: A bus rapid transit network across the city with a flat fare of IDR 3,500, paid with e-money cards.
- Gojek and Grab: Good for last-mile trips. Ojek (motorbike taxis) are for solo riders, and cars are for groups. Pay by cash or cashless (GoPay or OVO on Gojek, GrabPay on Grab, or cards). Ojek typically costs IDR 10,000 – 30,000 for short to medium trips, and cars cost IDR 20,000 – 70,000+, depending on distance, traffic and demand.
- Becak and bajaj: Pedal-powered becak and motor-powered bajaj three-wheelers are more common in smaller cities and specific areas of larger ones. They suit short distances. There are no fixed prices, so agree on the fare before you get in.
What Has Changed Since 2024
The biggest development is the Whoosh high-speed rail between Jakarta and Bandung, run by PT Kereta Cepat Indonesia China (KCIC). It is not a KAI service and operates separately. It links Halim Station in East Jakarta with Padalarang or Tegalluar in the Bandung area, and the ride takes about 30 to 45 minutes. Estimated fares are IDR 150,000 – 350,000, depending on class (Premium Economy, Business or First Class). Commercial operation began in October 2023. Feeder links, such as KAI Commuter from Padalarang into Bandung city centre, are expected to be more streamlined by 2026.
So you now have a choice. Whoosh is faster. The Argo Parahyangan from Gambir is the one that gives you the long mountain and tea plantation views.
Other updates to know:
- Digital boarding: The KAI Access app has improved and added more payment options. The boarding pass is now fully digital through the app’s QR code, so you do not need to print a ticket unless you prefer to.
- MRT phase 2: Work continues on the extension from Bundaran HI to Kota Tua, with partial operation expected by 2026. Check the MRT Jakarta app for the confirmed opening date before you plan around it.
- LRT: The Jabodebek LRT began commercial operation in August 2023, giving the eastern and southern suburbs a new connection to Jakarta.
- Fleet: KAI continues to introduce newer, more comfortable carriages on popular routes.
2026 Budget Reality
Here is what a rail-based trip across Java costs, using the estimated 2026 fares above. The example is Jakarta to Bandung to Yogyakarta to Surabaya, three legs in total.
- Budget (Economy): About IDR 390,000 – 700,000 for all three legs combined (IDR 90,000 – 150,000, plus IDR 180,000 – 300,000, plus IDR 120,000 – 250,000). Add IDR 3,000 – 8,000 per KRL ride and IDR 10,000 – 30,000 for short ojek trips.
- Mid-range (Business where available): Business class is listed on Bandung to Yogyakarta (IDR 250,000 – 400,000) and Yogyakarta to Surabaya (IDR 200,000 – 350,000). Together that is IDR 450,000 – 750,000 for those two legs. The Jakarta to Bandung leg is priced at Executive or Economy, so add IDR 90,000 – 250,000 depending on which you choose.
- Comfortable (Executive): About IDR 700,000 – 1,200,000 for all three legs (IDR 150,000 – 250,000, plus IDR 300,000 – 500,000, plus IDR 250,000 – 450,000). Add the Airport Rail Link at IDR 70,000 – 100,000 if you arrive at CGK, and Gojek or Grab cars at IDR 20,000 – 70,000+ for station transfers.
When the Train Is Not the Answer
If you are short on time, a domestic flight between Jakarta and Surabaya is faster. Garuda Indonesia is full-service, Citilink is Garuda’s budget arm, Lion Air is the largest budget carrier, and Batik Air is Lion Air’s full-service arm. Book through garuda-indonesia.com, citilink.co.id, lionair.co.id, batikair.com, Traveloka or Tiket.com. No major changes in airline operations are expected for 2026, but fares and baggage allowances may see minor adjustments.
PELNI ferries (pelni.co.id, or port offices) are mainly for inter-island travel outside Java and are not a scenic way to see Java itself. If you are heading on to Bali, Lombok or the Gili Islands, the usual path is train or bus to Banyuwangi in East Java, a local ferry to Bali, then a fast boat from Bali.
Common Mistakes to Avoid
- Picking the wrong station. Big cities have more than one. Jakarta has Gambir and Pasar Senen, and Surabaya has Gubeng and Pasar Turi. On Jakarta to Surabaya, the Argo Bromo Anggrek and Sembrani go to Pasar Turi, while the Bima goes to Gubeng.
- Waiting to book Executive. Popular routes and holiday periods sell out, so do not leave it to the day before.
- Arriving at the last minute. Aim for 30 to 60 minutes before departure to allow for ID and ticket checks.
- Confusing Whoosh with KAI. They are separate operators with separate bookings. Check which one your ticket is for.
- Overpacking. Trains have luggage racks, but space can be limited, so travel light.
- Skipping water. Bring a bottle or buy one on board, especially on the long Bandung to Yogyakarta and Jakarta to Surabaya legs.
Frequently Asked Questions
What is the most scenic train route in Java?
Jakarta to Bandung on the Argo Parahyangan is the standout. It takes about 2.5 to 3 hours through mountainous terrain, tunnels, bridges and tea plantations. Bandung to Yogyakarta is also beautiful, with rice fields, villages and rolling hills, and on the southern route you may glimpse the coast.
How do I buy Java train tickets as a foreigner?
Use the KAI Access app or booking.kai.id, and enter your passport as the ID type and number. You can also book through Traveloka or Tiket.com, or buy at station counters, Indomaret or Alfamart. At boarding, show the QR e-ticket and your passport.
Is Whoosh the same as a KAI train?
No. Whoosh is run by PT Kereta Cepat Indonesia China (KCIC), separately from KAI. It connects Halim Station in Jakarta with Padalarang or Tegalluar near Bandung in about 30 to 45 minutes. Estimated 2026 fares are IDR 150,000 – 350,000, depending on class.
How early should I arrive at the station?
Arrive at least 30 to 60 minutes before departure. Staff at the boarding gate check your e-ticket QR code or printed ticket and a valid ID, which is your passport if you are a foreigner. After that, you head to your platform and carriage.
How do I get from Jakarta airport to a train station?
The Airport Rail Link (Railink) runs from Soekarno-Hatta (CGK) to BNI City Station and Manggarai Station. It takes about 50 minutes to BNI City and costs roughly IDR 70,000 – 100,000. DAMRI buses and Gojek or Grab cars and bikes are other options.
📷 Featured image by Faisal Hanafi on Unsplash.