Jakarta to Yogyakarta by train is one of the most popular routes for tourists (or vice versa). Find out how to arrange the trip so you can see the countryside, meet new people, and, well, ‘travel.’ To help you arrange your trip, here’s a guide on catching a train going to Yogyakarta from Jakarta. I’ve included everything from the train itinerary, where to book a ticket, and what to expect on the journey. Let’s get started!

General Information

Main train stations Jakarta

There are two main train stations for catching trains going from Jakarta to Yogyakarta: Pasar Senen (PSE) and Gambir (GMR). The station you choose will depend on the ticket class you want to purchase. The economy class trains (and some with executive class carriage too), which are the cheaper option, mostly depart from Pasar Senen/PSE station. The executive trains (including priority and luxury class) from Jakarta to Yogyakarta depart from Gambir/GMR Station. On a side note, there is also Jatinegara train station where you can get off (if they stop) the train from Yogyakarta to Jakarta, but you can’t get on the train from Jakarta to Yogyakarta from this station.

If you’re going to take the train to Yogyakarta stay close to Gambir (not actually in Gambir, which is a boring area with little to do and nowhere to eat). With Jakarta traffic, this is just more convenient. The two hotels I’d recommend within easy reach of the station are Double Tree by Hilton in Diponegoro (3.3 km distance) for luxury travellers or Ibis Budget Hotel Cikini, which has a great Olympic sized swimming pool where I always used to swim (2.5 km distance). Other two options that I recommend too, they are ARTOTEL Thamrin – Jakarta (2.3 km distance) and Mercure Jakarta Sabang (1.8 km distance).

Main train stations Yogyakarta

There are two main train stations in Yogyakarta: Yogyakarta / Tugu train station (YK) and Lempuyangan (LPN). They are only 1.5-2km from each other, but I like Tugu train station better because it is the main train station and tidier.

Jakarta to Yogyakarta Train Schedule

There are 19 trains that run daily from Jakarta to Yogyakarta. Indonesian trains are normally punctual. It takes around 6-8 hours to go from Jakarta to Yogyakarta by train. Economy class trains usually take longer and can run late as they have more stops. However the delay is normally between 5-25 minutes. Below is the train schedule from Jakarta to Yogyakarta (as per June 2024).

Economy and Executive Class Schedule – from Pasar Senen, Jakarta to Tugu Yogyakarta Train Station (PSE – YK)

Economy and Executive Class Schedule – from Pasar Senen, Jakarta to Lempuyangan Train Station (PSE – LPN)

Executive Class Schedule – from Gambir, Jakarta to Tugu Yogyakarta Train Station (GMR – YK)

Executive Class Tickets

You’re probably asking yourself what are the big differences between the economy and executive class tickets? The main difference is the price. Economy class train tickets from Jakarta to Yogyakarta are cheaper than executive class tickets. The other big difference is that the economy class trains stop at more stations than executive class trains. The economy class train has less space between seating and in general, the seats aren’t as comfortable as the executive class train.

There is not a significant difference in the quality of service between the economy class and executive trains. The food is also more or less the same and they have air conditioning.

Air conditioning on Indonesian trains is a good and a bad thing. On executive class trains they do blast the air conditioning and it can get really cold. On economy class trains the air conditioning is not as strong and it can get hot during the day.

Day Train vs Night Train

If you are catching a train you can either catch a day or a night service. I would recommend you catch the day train from Jakarta to Yogyakarta for a number of reasons. Passengers on the day train can enjoy breathtaking views of the Javanese countryside, including small villages, rolling hills, and lush green paddy fields. This scenic journey is especially recommended for first-time visitors to Indonesia, as it offers a glimpse into the local landscape and culture.

I’ve taken the night train from Jakarta to Yogyakarta a couple of times. It’s ok, but please don’t make the mistake of thinking that this is a way of saving money on a hotel. It isn’t. You arrive in Yogyakarta at around 4 am or so (but there is a train that arrives at 7 am in Yogya). You will be tired and you will want a shower. Then you have to wait till 12 noon (or maybe 2 pm) to check into your hotel. It all results in a wasted day in my opinion.

I recommend taking the executive class if you take the night train. The seats are more comfortable than economy class (or the economy premium class), something you notice when you try to go to sleep.

how to get from Jakarta to Bogor by Train

Booking Your Train Ticket

Trains in Indonesia are reasonably priced and are a popular form of transport for Indonesians in Java. If you plan to travel by train you should book a train ticket from Jakarta to Yogyakarta ahead of time (this is especially important for public holidays. Indonesia has a lot of them. Check here to see when they are). Please be advised that you can book the ticket max 1 month in advance.

You can book a train ticket or make a reservation through the National Train Company’s website – www.kai.id. The website is only available in Indonesian. Alternatively you can book a ticket through www.tiket.com or www.traveloka.com, which is also available in English (and it is easier to navigate).

[su_note]Credit Card Payments: Some travellers have issues making a booking via ticket.com or traveloka.com. If you have problems you will have to go in person to an Indonesian train station to secure your ticket or try to purchase/do payment for your ticket from a convenience store like Alfamart or Indomaret.[/su_note]

Below is a step-by-step guide to purchasing a train ticket through the website of the national train company.

How to Book a Train Ticket (Kereta Api Indonesia):

1. Press here to go to the ticket booking page.
2. Fill in the information as in the image below.

3. Select the train (see table above for train names) and press ‘book.’

4. Agree to terms and conditions and press continue.

booking train ticket terms

5. Enter passenger details and press ‘selanjutnya’

6. Enter your credit card details and make the payment

Jakarta Train Stations

Catching a Train from Gambir Station

If you booked an Executive Class train ticket from Jakarta to Yogyakarta you will leave from Gambir Station. Gambir is one of the central train stations in Jakarta. The train station is located in central Jakarta close to Cikini and Jalan Jaksa. If you are coming from Jakarta Airport you can take a Damri bus direct to Gambir station. This guide shows you how to get from Jakarta airport to Gambir train station. You should arrive at the train station 30 minutes prior to the departure time. If you have made a reservation and need to pick up your ticket arrive at least one hour before departure time.

Catching a Train from Pasar Senen Station

If you booked an economy class train ticket from Jakarta to Yogyakarta you will leave from Pasar Senen Station. The train station is located in the sub district of Senen and is the second largest train station in Jakarta. There are buses from Jakarta Airport to Senen, but you will need to get a taxi from Senen to the train station.

The traffic around Senen is worse than around Gambir. The train station is also busier. Make sure to arrive at Pasar Senen 30 minutes prior to the departure time. If you have made a reservation and need to pick up your ticket arrive at least one hour before departure time.

Jakarta to Yogyakarta train

Arriving in Yogyakarta

There are two train stations in Yogyakarta (Lempuyangan and Tugu) and there are two more: Maguwo Station and Wates Train Station (which are located on the outskirt of Yogyakarta). The central train station in Yogyakarta is called Tugu Station. The station is located at the top of Jalan Malioboro. Lempuyangan Station is located 1-2 km away from Tugu Train Station. Manguwo Station is located close to the old Yogyakarta airport.

If you catch a train from Jakarta to Yogyakarta, it usually will stop at (sometimes at Wates station too) Lempuyangan and Tugu Train Station. Unless you have made arrangements to be picked up by your hotel at Wates Train Station, I would advise staying on the train until you arrive at Lempuyangan Train Station or Tugu Train Station.

There are a few options for places to eat or drink at Gambir Train Station. You have Solaria, McDonald’s, Dunkin’ Donuts, Station Cafe, Krispy Kreme, KFC, some minimarkets and Starbucks. While in Senen Train Station the options are limited. There are only Es Teler 77, CFC and a minimarket. You can also find ATMs, and restrooms in both stations.

Also read:

The Best Hotels Around Malioboro for Any Budget

Tugu Station is the last station on the train line. This is a popular area for backpackers and there are a lot of hotels, home stays and hostels in the area. The area is always busy whatever time of day you arrive. To enter the Malioboro street, walk out of the train station and turn left (and right when you see the signage of Malioboro street). Now all you need to do is find a nice place to stay.

Recommended Hotels Near Gambir Station

  1. Best luxury hotel close to Gambir is Double Tree by Hilton.
  2. Best mid range hotel close to Gambir is Ibis Budget Hotel Cikini.

Have you take the train from Jakarta to Yogyakarta before? What did you think about the journey? Would you do it again? Share your thoughts with other travellers in the comments below.

Still need to book your hotel for Yogyakarta? Save yourself some time! Here’s a list of the best hotels near Malioboro for every budget.