Yogyakarta - Indonesia

Jakarta to Yogyakarta?

Last updated:


Overview | Train | Flight | Bus

How to get from Jakarta to Yogyakarta?

Yogyakarta is Java’s cultural capital. Commonly called Jogja, it is the only region in the country still ruled by a sultan, a proof of how tightly it values its age-old traditions and way of life. That’s an amazing feat, considering it’s an urban area of over 3 million inhabitants.

Mainly, Jogja is the common basecamp for visitors to the nearby ancient temples of Borobudur and Prambanan. But the city itself is very appealing. Art lovers will enjoy its street art, boutique cafes, and iconic batik fabric. Also, you’re sure to find amazing finds at Malioboro Road and beautiful jewelry in Kotagede. Don’t forget to check out Kraton Sultan Palace and Taman Sari for a glimpse of their architecture and history.

When travelling the 560km distance from Jakarta to Yogyakarta, you have 3 options: you can take the train for 8 hours, a flight for roughly 3.5 hours (including transfers), and the bus for at least 8.5 hours. Fares start at 180,000 IDR ($11).

The journey by train from Jakarta to Yogyakarta takes at least 8 hours. It’s a direct trip so you will depart from Jakarta city center and arrive at Yogyakarta city center. Ticket prices start at 180,000 IDR ($11) for an economy train.

3 ways to get from Jakarta to Yogyakarta

Transport ModeDurationCostsAvailability
Train8 hours180,000 IDR ($11)

Read article for more info

Plane3hr 20mins422,600 IDR ($26)Check Flights
Bus8.5 hours246,000 IDR ($15)Check bus tickets

A flight is the fastest option at around 1 hour. However, if you add the transfer time to and from the airports, total travel time is about 3.5 hours. Fares start at 422,600 IDR ($26), including transfers. That’s if you buy your plane ticket ahead of time.

When travelling by bus from Jakarta to Yogyakarta, you can choose from tourist and local buses. Tourist buses are faster, with a travel time of 8.5 hours. A ticket costs 246,000 IDR ($15). Local buses are cheaper, but the journey can take at least 12 hours.

Itinerary from Jakarta to Yogyakarta

train icon

Jakarta to Yogyakarta by Train

Duration: 8 hours
Cost: 180,000 IDR ($11)

When travelling by train from Jakarta to Yogyakarta, you can choose from 3 classes: economy, business, and executive. The train journey takes at least 8 hours. Fares start at 180,000 IDR ($11) for economy, 330,000 IDR ($20) for business class, and 380,000 IDR ($23) for executive class.

Economy and business class trains depart from Pasar Senen Station. Executive class trains basically have the same perks as business class, but they have fewer stops so travel time might be a bit faster. These depart from Gambir Station.

Both day and night trains are available. We recommend taking a day train so you can enjoy a scenic journey through the countryside. With most of the night trains, you will still arrive in Yogyakarta very early in the morning so you won’t be able to save a night on accommodation. If you really want to travel by night, we recommend taking the economy train that departs at 22:20.

The trains arrive at either Tugu or Lempuyangan station, which are 2kms apart in Yogyakarta city center. See below for a detailed schedule of trains operating from Jakarta to Yogyakarta.

Economy and Business Class from Pasar Senen Station

ScheduleDurationTrain ClassGet off at
06:15-14:358h 20mBusinessTugu Stn.
06:45-14:538h 08mEconomyTugu Stn.
10:15-19:148h 59mEconomyLempuyangan Stn.
11:20-19:428h 22mEconomyLempuyangan Stn.
12:00-20:418h 41mEconomyLempuyangan Stn.
12:25-21:238h 58mEconomyLempuyangan Stn.
13:20-21:548h 34mEconomyTugu Stn.
19:00-03:138h 13mBusinessTugu Stn.
21:45-05:447h 59mEconomyTugu Stn.
22:00-05:537h 53mEconomyTugu Stn.
22:20-06:388h 18mEconomyLempuyangan Stn.

Executive Class from Gambir Station

All executive class trains arrive at Tugu Station.

ScheduleDurationTrain ClassGet off at
08:00-15:397h 39mExecutiveTugu Stn.
08:30-16:257h 44mExecutiveTugu Stn.
10:15-18:228h 07mExecutiveTugu Stn.
16:30-00:408h 10mExecutiveTugu Stn.
17:40-01:478h 07mExecutiveTugu Stn.
20:15-03:487h 33mExecutiveTugu Stn.
20:45-04:157h 30mExecutiveTugu Stn.
21:15-04:587h 43mExecutiveTugu Stn.

Jakarta to Yogyakarta by Flight

Duration: 3hr 20mins
Cost: 422,600 IDR ($26)

The journey by flight from Jakarta to Yogyakarta takes only a little more than an hour. The transfers to and from the airports take at least an hour one-way.

Step 1: Jakarta City Center to Soekarno-Hatta International Airport by Train

Duration: 1 hour
Cost: 70,000 IDR ($4.30)

The fastest and easiest way to travel from Jakarta city center to Soekarno-Hatta International Airport is by train. Travel time is 50mins and a ticket costs 70,000 IDR ($4.30). You can board the train at Sudirman Baru Station in the city center and get off at Jakarta Airport Station. From here, you can take a free sky train to whichever terminal your flight is. The train operates daily from 03:21 to 10:51.

You can also take a bus or a taxi, but only if you have a lot of extra time. Traffic in Jakarta is very congested, so the journey can take up to 2.5 hours, maybe even more on a really bad day.

Damri buses depart from Gambir Train Station every hour from 03:00 to 21:00. You can get a seat for 40,000 IDR ($2.40).

You can easily book a taxi via Grab or Gojek from the city center to the airport. However, heavy traffic can make fares quite expensive. We recommend booking a car via Klook for a fixed price instead. Rates start at 296,000 IDR ($18), depending on which area you’re staying at. Try to book your ride at least 5 hours before to ensure a driver. Just click the link below.

Book a Private Car

Step 2: Jakarta to Yogyakarta by Flight

Duration: 1hr 10mins
Cost: 307,600 IDR ($19)

A flight from Jakarta to Yogyakarta takes at least 1hr 10mins. Lion Air often offers the cheapest flights at 307,600 IDR ($19). But you can also travel with Citilink, Sriwijaya Air, Batik Air, and Garuda Indonesia. Check out the cheapest flights through the link below.

Check Flights on Skyscanner

There are also flights from Halim Perdana Kusuma Airport to Adisucipto International Airport (JOG), but they are much more expensive at 900,000 IDR ($55).

Step 3: Yogyakarta International Airport to City Center by Train

Duration: 1hr 10mins
Cost: 45,000 IDR ($2.70)

Also from Yogyakarta International Airport, the easiest way to reach the city center is by train. The airport is not connected to a train station so you will need to either take a Damri shuttle bus or a taxi to Wojo Station. Travel time is 5-10mins and a journey costs 15,000 IDR ($0.90) and 49,000 IDR ($3), respectively.

From Wojo Station, take the train to Tugu Station, the nearest train station to the backpacker area. This takes 1 hour and a train ticket costs 30,000 IDR ($1.80).

Another option is to take a taxi all the way from the airport to the city center. The journey takes a little over an hour and fares start at 247,000 IDR ($15).

train icon

Jakarta to Yogyakarta by Bus

Duration: 8.5 hours
Cost: 246,000 IDR ($15)

We recommend that you take a tourist bus from Jakarta to Yogyakarta for a faster journey. With Po Santoso tourist buses, the journey takes at least 8.5 hours and a ticket costs 246,000 IDR ($15). It has two departure points in Jakarta city center and arrives at Giwangan Terminal in Yogyakarta. You can book a ticket through the link below.

Bus CompanyScheduleDurationCosts
Po Santoso
(from Terminal Kampung Rambutan)
14:30-23:008h 30m246,000 IDR ($15)
Po Santoso
(from Agen Santoso Jembatan
Gantung Cengkareng)
14:00-22:308h 30m246,000 IDR ($15)

Check Available Bus Tickets

You can also take local buses. However, travel time may take much longer because they make too many stops. Fares start at 85,000 IDR ($5) for non-aircon and 180,000 IDR ($11) for aircon buses. The journey takes at least 12 hours.

More routes from Jakarta

Jakarta to Batu Karas

Jakarta to Pangandaran

Most popular routes in Indonesia

Bali to Gili Islands

Bali to Nusa Penida

Lombok to Nusa Penida

Yogyakarta to Bali

Yogyakarta to Ijen