|

Jakarta to Yogyakarta by Train: Best and Cheapest in 2025

This post may contain affiliate links. If you make a purchase using one of these links, I may receive a small reward at no extra cost to you. See my Disclosure Policy for more information.

Traveling from Jakarta to Yogyakarta is one of the most popular routes on Java. Of the ways to travel between the two cities, the trains stand out as the best combination of speed, comfort, and price.

The best way to get from Jakarta to Yogyakarta is indisputably by train.

Trains can be a bit confusing though. There are so many options that you may even experience some decision paralysis!

So here I will share all the information you need to plan your train trip between these two cities in Java: type of trains, times, prices, and what to expect.

Jakarta and Yogyakarta are both part of my 14-day Java Backpacking Itinerary.

Timetables & Prices of Trains from Jakarta to Yogyakarta

You can check the up-to-date train timetables at the official Indonesian Railways Kereta Api website.

Honestly, it’s not the most user-friendly website. Also, it doesn’t have an English version unless you auto-translate it with Google Translate but then the search function breaks.

To ease the confusion, here’s the distilled information you need.

Trains from above
Train travel in Java is popular and convenient

Prices mostly depend on the train, the class, and the subclass. The trains between Jakarta and Yogyakarta come in only 2 classes – Eksekutif and Ekonomi (‘Bisnis class’ exists, but not on this route).

These two available classes are further divided into subclasses using letters:

  • A, AA, AB, H, I, J for Eksekutif;
  • C, CA, CB, P, Q, S for Ekonomi;

The price also depends on how far in advance you book your ticket.

Pasar Senen to Yogyakarta Lempuyangan (Ekonomi and Eksekutif trains, CHEAPEST OPTION)

The following trains go from Jakarta’s Pasar Senen station to Yogyakarta Lempuyangan station. The cheapest possible train between Jakarta and Yogyakarta does this route, although it’s a little slower at 8.5 hours.

Train name, times, and starting price for Ekonomi Class:

  • Bengawan (246): 06:00 – 14:25, 74.000 IDR (5$), CHEAPEST OPTION;
  • Gajahwong (138): 07:35 – 15:33, 180.000 IDR (12$);
  • Gaya Baru Malam Selatan (106): 11:00 – 19:10, 235.000 IDR (15.5$);
  • Jaka Tingkir (222): 12:00 – 19:47, 190.000 IDR (12.5$);
  • Jayakarta (218): 17:10 – 00:54, 215.000 IDR (14$);
  • Singasari (104): 20:55 – 05:25, 300.000 IDR (20$);
  • Bogowonto (136): 21:45 – 05:48, 210.000 IDR (13.5$);
  • Progo (248): 23:00 – 07:05, 175.000 IDR (11.5$).

Jakarta Pasar Senen to Yogyakarta Tugu (Ekonomi and Eksekutif trains)

Train name, times, and starting price for Ekonomi Class:

  • Fajar Utama Solo (88): 05:45 – 12:32, 255.000 IDR (17$);
  • Fajar Utama YK (142): 06:40 – 14:37, 220.000 IDR (14.5$);
  • Bangunkarta (124): 12:25 – 19:59, 290.000 IDR (19$);
  • Senja Utama YK (140): 19:05 – 02:35, 220.000 IDR (14.5$);
  • Bogowonto (136): 21:45 – 05:38, 210.000 IDR (14$);
  • Mataram (90): 22:05 – 05:11, 255.000 IDR (17$).

Jakarta Gambir to Yogyakarta Tugu (Eksekutif trains only)

Train name, times, and starting price:

  • Argo Semeru (18): 6:20 – 12:54, 400.000 (26$);
  • Argo Dwipangga (10): 8:50 – 14:58, 420.000 (27.5$);
  • Tarsaka (68): 9:20 – 15:40, 425.000 (28$);
  • Bima (60): 17:00 – 23:28, 425.000 (28$);
  • Gajayana (56): 18:50 – 01:26, 425.000 (28$);
  • Argo Lawu (8): 20:45 – 02:49, 420.000 (27.5$);
  • Tarsaka (70): 21:40 – 04:00, 425.000 (28$);

Jakarta and Yogyakarta Train Stations

The Jakarta stations with trains going towards Yogyakarta are Gambir and Pasar Senen. Gambir is the more central one – right next to MONAS, the National Monument.

Pasar Senen is close though, only 30 minutes on foot.

There is no easy public transportation between the two. However, a Grab or GoJek car costs no more than 20.000 IDR (1.3$) and will take around 10-15 minutes.

Inside Gambir Station, Jakarta
Inside Gambir Station, Jakarta

In Yogyakarta, the two stations are Tugu (Yogyakarta Central) and Lempuyangan. They are about 20 mins on foot away from each other.

Tugu is more central. Malioboro, the famous shopping street, starts just 100 meters from the station’s entrance.

Lempuyangan on the other hand is the train station for trains towards Ketapang for the ferry to Bali.

Ekonomi vs. Eksekutif tickets- Is the price worth it?

Are you wondering if it’s worth paying more for the premium train tickets? Don’t we all…

The main difference between the economy and executive classes is the seats.

  • Executive usually has 2 rows of 2 seats
  • Economy is 2 rows of benches seating 2 or 3 people facing each other.

Executive has individual reclinable seats and armrests, whereas Economy’s benches cannot be moved back or forth and only the aisle seat (part of the bench) has an armrest.

Another difference is travel time.

The Eksekutif trains that depart from Gambir take 6:30 hours on average to reach Yogyakarta, whereas the cheaper Ekonomi class trains take on average 7:30 hours.

Apart from the seats, duration, and price, practically all other variables of train travel are the same: Both classes have AC on trains, electrical plugs, and the food carts offer the same options.

ExecutiveEconomy
Seating2×2 seats2×3 benches
RecliningYesNo
ArmrestYesMaybe
Time~6:30~7:30
Price$$$$
ACYesYes
El. plugs1 per seat2 per bench
FoodLacklusterLackluster
Comparing Executive to Economy class

The Eksekutif Luxury

The Executive Luxury class deserves its own section, as it’s quite different from the normal Executive class.

For starters, it has two rows of 1 and 2 seats respectively. The seats are modern, even luxurious (the name doesn’t disappoint).

There is also a blanket and a small pillow provided for every passenger. Seats recline, but not to a fully horizontal position.

There is a TV at every seat, just like what you’d expect in an airplane. Prices are significantly higher than Executive: up to 1.2 million IDR (79$) at which point a flight would be cheaper. But the Executive Luxury allows you to travel in style, so there’s that.

Overnight train – Is it a good idea?

There is no sleeper train running between Jakarta and Yogyakarta.

Yes, there are overnight trains, but they offer the same seating as the daylight trains. There are no beds/berths and you cannot lie down.

The best you can get are the luxury compartment carriages on the Argo Semeru and Bima trains. These are isolated rooms with leather couches inside. Still, not beds.

This begs the question: Should you travel from Jakarta to Yogyakarta during the night? For me, the answer is a resounding NO.

What you will save in time you will lose in fatigue the next day. I’d much prefer to spend 7-8 hours looking out of the window at beautiful rolling rice fields and having a good night’s sleep in a proper bed, than saving a few dollars from accommodation and feeling drowsy the whole next day.

Inside an executive class train from Jakarta to Yogyakarta
Executive class – possible to sleep in, but not ideal

Moreover, the executive trains (with seats that allow at least some sleep) arrive too early in the morning, the latest being 5:48 on the Bogowonto train (some as early as 01:30 in the morning). This means you’ll have even less time to sleep and feel even more tired during the day.

To summarize: Take the daylight train!

When to book a ticket for trains in Indonesia

Ideally, you’d know exactly when you want to travel and book your tickets well in advance.

Train tickets do sell out!

Sold out tickets on the Kereta Api website
I checked tickets A MONTH in the future and many were already sold out!

On Tiket.com, tickets become available about 6 weeks before departure, so if you know when you want to travel, book.

Tickets are not more expensive if you buy too far in advance (unlike certain airfares), but they do get more expensive if you buy just a few days before.

There’s one exception. If you are feeling adventurous, need to travel urgently, and/or want to get a cheap ticket, go to the train station an hour before any train departs (without a ticket).

Available seats are sold at a discount if you buy at the train station just before the train departs.

How to book a ticket for the Indonesian trains

Are you ready to travel from Jakarta to Yogyakarta? Then let’s get you a ticket!

You can buy a ticket for Kereta Api both online and in person. Why would you want to buy in person? Well, the official Kereta Api booking site only accepts Indonesian cards, that’s why.

Buy a ticket in person at Alfamart or Indomaret

Indomaret store
Can’t book online? Indomaret is around the corner!

The first step is to reserve your ticket at the Kereta Api booking site.

It’s only in Indonesian, but everything is quite straightforward to follow. You can always auto-translate the page and if anything breaks (stations’ names input in the search box don’t get recognized if the page is auto-translated) just revert to Indonesian.

When you reach the payment screen, pick Retail Shops on the left and then the closest shop to you: Alfamart, Alfamidi, or Indomaret.

You will then see a payment code and a 1-hour timer. Go to the nearest retail shop, show the code to the cashier, and pay within the allotted time. The cashier will issue you the ticket confirmation.

Buy a ticket online at Tiket.com or Traveloka

Since the Official Kereta Api booking site doesn’t allow booking with a foreign card, you have to go to a reseller to buy tickets online. The two most popular and trustworthy resellers are Tiket.com and Traveloka.

Ticket dot com Logo

The procedure there is pretty straightforward until it comes to paying.

I had this problem the first time I tried to book a ticket (and so have several other travelers): my card was declined until I proved ownership.

I had to email them asking what that was about, and they then required a picture of my card (like that’s not something anyone could fake). After a manual review, they unblocked it for future use.

This may not even happen to you, but if it does, don’t worry, you can always book a ticket in person.

Checking in and printing your ticket

Note that no matter which booking procedure you follow, the confirmation you receive after payment is NOT the actual ticket!

Think of it more like booking confirmation as in air travel. You must check in!

Checking in is no longer mandatory if you have a QR code on your ticket. Most tickets are now issued with a QR code.

Inside Yogyakarta Tugu Station
Inside Yogyakarta Tugu Station. Notice the check-in desks on the right.

To do that, arrive at the station a little earlier, 25-30 minutes is usually enough. On most stations in Indonesia, including all stations mentioned in this article, there are self-service kiosks for checking in. Type down the number from your confirmation and the actual ticket will be issued.

There are always attendants at the train stations who will help you with the check-in if you struggle.

The Experience on the train from Jakarta to Yogyakarta

Trains in Indonesia are quite good by Southeast Asian standards. I recently traveled by train in Cambodia and let me tell you: train travel in Java is so much better!

Let’s take a quick look inside the trains from Jakarta to Yogyakarta.

Seats and Legroom

In Executive Class, the seats are individual and have adequate legroom. One level up in Executive Luxury and you have a seat that’s on par with airplane’s business class – a ton of legroom and adjustable seat.

In Economy Class, the seats are usually (not all trains, but most) in the form of benches. On one side of the train they are 3×3 facing each other, on the other side, they are 2×2 again facing each other.

I’d argue there’s enough legroom if you coordinate with the person in front of you.

Regardless, I’d not pick an economy class if I’m traveling in an overnight train – it’s just not comfortable enough to sleep.

Overhead Luggage Compartments

All train classes have similar overhead bins for luggage. Officially the limit is 20 kg, but nobody ever checks and the bins will of course hold things even above 100 kg.

Overhead bins in an economy class train
Overhead bins in an economy train

The difference comes when you consider the number of people in the wagon. In Economy, the overhead bins get filled up pretty quickly and you might have to keep your backpack down with you.

But usually, people are understanding and will help you fit it above by squeezing other luggage around. There’s always a way!

Food on the Trains

Food in all classes is pretty much the same. The food carts that go through the wagons offer snacks, drinks, and hot food like instant noodles, nasi goreng, bakso meatballs soup, etc.

The prices are severely inflated. For example, you can get Nasi Goreng in the city for 15.000 IDR (~1$), whereas it’s 35.000 IDR (2.3$) on the train.

More importantly, the food is just not too good. You’re better off buying some Indonesian fried snacks or a sandwich from Indomaret before boarding.

Train Toilets

A toilet in an Indonesian train

There’s a toilet between any two wagons in every class of train.

The toilets are surprisingly clean and use a vacuum suction system to pull your *delivery* away, just like airplane toilets.

There’s toilet paper, running water, and liquid soap. Honestly, what a nice surprise the toilets are!

Safety on the Trains

Indonesia is a very safe country in general and the trains are no exception. I’ve never had to deal with any issues, ever. People are welcoming and understanding.

You can leave your bag in the overhead bins unattended to go to the toilet or walk around the train to stretch your legs.

As for train accidents, they are incredibly rare.

Possible stops between Jakarta and Yogyakarta

If you travel directly from Jakarta to Yogyakarta, you’ll be missing a lot of Java.

A few good stops to break up the journey are:

Explore more options in my extensive 14-day itinerary for Java from Jakarta to Bali.

Yogyakarta!

Yay, you arrived in the Indonesian city of universities, wisdom, ancient history, culture, and food!

Can I interest you in some of the best things to do in Yogyakarta? I bet you’re hungry – check out these places to eat in Yogyakarta that locals (and I) love!

What about watching the sunrise at Borobudur?

Or maybe you don’t have much time and want to visit Borobudur and Prambanan in 1 day? While you’re there, you really should consider watching the Ramayana Theater at Prambanan!

Do you want more? What about 20 more ancient temples or a bizarre chicken-shaped church?

One thing is certain – you will not be bored in Yogyakarta!

4 Comments

  1. Barry Humphries says:

    Hello Simon
    Thank you for the tip about booking train tickets in advance in Indonesia. You’re certainly right about them getting booked up.
    I bought my tickets through tiket.com. In my experience, their website can be slow and clunky, though not always: if it’s having a bad moment, just persevere. Also, they try hard to be helpful if you email them (in English). To pay with a non-Indonesian card, click on “Select payment method” when you get that far, but click on the words, not the circle next to them.

    Your blog has been very helpful in general.

    Happy travelling!

    Barry

    1. Good to know Barry, thanks for sharing!

      Safe travels,

      Simon

  2. THANK YOU !!
    ive been pulling my hair out trying to make sense out of trains between jogja and porbolinggo
    – and now i know just about everything i need to know (save for whether or not id take the train itself 🙂 )

    1. Glad I could help. Bottom line, the KAI website or app is quite user-friendly and shows the train times 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *