Jakarta to Yogyakarta

Overview Compare 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 560 km 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.50).

3 ways to get from Jakarta to Yogyakarta

Transport ModeDurationCostsAvailability
Train8 hours180,000 IDR ($11)Read article for more info
Flight3hr 20mins422,600 IDR ($27)Check Flights
Bus8.5 hours246,000 IDR ($15.50)Check Bus Tickets

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 centre and arrive at Yogyakarta city centre. Ticket prices start at 180,000 IDR ($11.50) for an economy train.

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 ($27), 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.50). Local buses are cheaper, but the journey can take at least 12 hours.

Itinerary from Jakarta to Yogyakarta

Jakarta to Yogyakarta by Train

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

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.50) for economy, 330,000 IDR ($21) for business class, and 380,000 IDR ($24.50) 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 stations, which are 2 kms apart in Yogyakarta city centre. 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: 3hrs 20m
Cost: 422,600 IDR ($27)
Duration: 3hrs 20m
Cost: 422,600 IDR ($27)

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 Centre to Soekarno-Hatta International Airport by Train

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

The fastest and easiest way to travel from Jakarta city centre to Soekarno-Hatta International Airport is by train. Travel time is 50mins and a ticket costs 70,000 IDR ($4.50). You can board the train at Sudirman Baru Station in the city centre 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.55).

You can easily book a taxi via Grab or Gojek from the city centre 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 ($19), 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.

Check Private Cars

Step 2: Jakarta to Yogyakarta by Flight

Duration: 1hr 10m
Cost: 307,600 IDR ($19.50)
Duration: 1hr 10m
Cost: 307,600 IDR ($19.50)

A flight from Jakarta to Yogyakarta takes at least 1hr 10mins. Lion Air often offers the cheapest flights at 307,600 IDR ($19.50). 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 more expensive at 900,000 IDR ($58).

Step 3: Yogyakarta International Airport to City Centre by Train

Duration: 1hr 10m
Cost: 45,000 IDR ($2.90)
Duration: 1hr 10m
Cost: 45,000 IDR ($2.90)

Also from Yogyakarta International Airport, the easiest way to reach the city centre 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.95) and 49,000 IDR ($3.15), 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.90).

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

Jakarta to Yogyakarta by Bus

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

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.50).

It has two departure points in Jakarta city centre and arrives at Giwangan Terminal in Yogyakarta. You can book a ticket through the link below.

Bus schedules from Jakarta to Yogyakarta

Bus CompanyScheduleCosts
Po Santoso
(from Terminal Kampung Rambutan)
14:30-23:00246,000 IDR ($15)
Check Bus Tickets
Po Santoso
(from Agen Santoso Jembatan
Gantung Cengkareng)
14:00-22:30246,000 IDR ($15)
Check 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.50) for aircon buses. The journey takes at least 12 hours.

More routes from Jakarta

Jakarta to Batu Karas

Jakarta to Pangandaran

Bali to Gili Islands

Bali to Nusa Penida

Lombok to Nusa Penida

Yogyakarta to Bali

Yogyakarta to Ijen

Was this post helpful?

Click on a star to rate it!

Average rating 5 / 5. Vote count: 4

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Your feedback is very valueable to us

How we can improve this post?