How to get from Jakarta to Yogyakarta
Leaving from...
Going to...
Loading route:
Why visit Yogyakarta?
Yogyakarta is Java’s cultural capital, the only region in Indonesia still ruled by a sultan. Commonly called Jogja, the city strongly values its age-old traditions and way of life. Quite impressive, given that it’s an urban area of over 3 million inhabitants.
The nearby ancient temples Borobudur and Prambanan are the main reasons why travellers visit Yogyakarta, but the city has much more to offer. Art lovers will enjoy its street art, boutique cafes, and iconic batik fabric. Head over to Malioboro Road and Kotagede for some amazing finds and jewellery. Explore Kraton Sultan Palace and Taman Sari for a glimpse of the city’s architecture and history.
What are the 3 ways to travel from Jakarta to Yogyakarta?
There are 3 ways to travel the 560 kilometre (348 miles) distance from Jakarta to Yogyakarta. You can choose between the bus, train and flight. The journey takes 2 hours 50 minutes to 16 hours and the quickest way is by flight. If you're on a budget, the cheapest option is by bus with tickets starting at 175,000 IDR ($10.40).
Where to stay in Yogyakarta?
Still looking for accommodation? Don't forget to check out our favourite places to stay in Yogyakarta at the bottom of this page.
Jakarta to Yogyakarta by Train
Another direct way to travel from Jakarta to Yogyakarta is by train. For this route, you can choose between two seat classes: economy and executive.
Economy class seats start from 195,000 IDR ($11.60), while executive class seats, with more legroom, start from 425,000 IDR ($25).
The train journey from Jakarta to Yogyakarta takes 6 hours 10 minutes to 9 hours, depending on the station you’re departing from and arriving at.
Day or night train
Both day and night trains are available on this route. We recommend taking a day train so that you can enjoy the scenic journey through the countryside. If you prefer the night train, we suggest the 22:30 or 23:00 trip so that you’ll arrive at a reasonable time in Yogyakarta.
Departure and arrival station
There are two train stations that you can travel from in Jakarta city centre.
Both economy and executive class trains are available at Pasar Senen Station. When coming from Gambir Station, you can book only an executive class seat.
In Yogyakarta city centre, trains arrive at either Tugu Station or Lempuyangan Station, which are 2 km apart. See below a detailed schedule of trains operating from Jakarta to Yogyakarta.
I highly recommend booking your ticket in advance so you don’t have to wait in line to buy it, you can choose your seat and don’t risk them selling out. While economy seats are unlikely to sell out (they don’t really have a limit on how many people they pack in a car), executive tickets can sell quite quickly.
Train schedule from Pasar Senen Station
Train schedule from Gambir Station
You can buy your tickets at the train station on the day of your trip or book online on the Tiket website.
Jakarta to Yogyakarta by Bus
A direct way to travel from Jakarta to Yogyakarta is by bus. Bus tickets are cheaper than the train, starting from 175,000 IDR ($10.40), but it’s also by far the slowest option. The journey by bus takes between 10 hours 30 minutes to 16 hours.
Several bus companies operate on this route. This includes Agramas, Sinar Jaya, PO Santoso, and Sumber Alam with departures almost every hour from 05:30 to 18:45.
Departure and arrival station
You can choose from many bus departures on 12GoAsia with different departure and arrival stations.
In Jakarta, you can choose to depart from Jakarta city centre or from Kota Bekasi. You also have the option to be dropped off in Yogyakarta city centre, Prambanan, or Sleman.
The specific departure and arrival points will show up on your ticket.
Bus schedule from Jakarta to Yogyakarta
We suggest arriving at the bus station at least 30 minutes before the departure to secure your seat.
Jakarta to Yogyakarta by Flight
Flying from Jakarta to Yogyakarta takes a little more than an hour. However, if you take a flight, you’ll also have to make the transfers to and from the airports. Including the transfers, overall travel time is around 3 hours when taking a flight.
Something important to keep in mind is that there are two airports in Jakarta. Halim Perdana Kusuma Airport is 15 km from the city centre, while Soekarno-Hatta Airport is about 30 km away on the northwest side.
When you want to fly to Yogyakarta, it’s best to fly from Soekarno-Hatta because more airlines operate from this airport with cheaper airfares.
Yogyakarta also has two airports, but almost all flights from Jakarta arrive at the new international airport, about 40km south of Yogyakarta city centre.
TIP: If you decide to travel by plane, please consider including a carbon compensation fee to reduce your impact on the environment.
Step 1: Jakarta City Centre to Soekarno-Hatta International Airport by Train
The fastest and easiest way to travel from Jakarta city centre to Soekarno-Hatta International Airport is by train. You can take the Railink train from Manggarai Station to the airport. There are departures every hour from 05:07 to 19:37. Tickets start from 30,000 IDR ($1.80) for the train ride that takes 1 hour.
While it’s possible to take a bus or a taxi from the city centre to the airport, the journey can take up to 2.5 hours compared to the estimated 1-hour travel time. Damri buses depart from Gambir Train Station every 30 minutes from 03:00 to 21:00. You can get a seat for 70,000 IDR ($4.10).
Klook also offers private transfers at fixed prices. Rates start at 250,000 IDR ($14.80), depending on which area you’re staying at. We suggest booking your ride at least 5 hours before to ensure a driver.
With taxi-hailing apps like Grab or Gojek, you can also find transfers with cheaper fares. Grab rates start from 110,000 IDR ($6.50) from Central Jakarta to the airport, but it will still depend on the time you’re booking.
Step 2: Jakarta to Yogyakarta by Flight
The flight from Jakarta to Yogyakarta International Airport takes 1h 10m.
Lion Air often offers the cheapest flights at 500,000 IDR ($29.50). But you can also travel with Citilink, Super Air Jet, Batik Air, and Garuda Indonesia. Check out the cheapest flights through the link below.
There are also flights from Halim Perdana Kusuma Airport to Adisucipto International Airport (JOG), but they are more expensive starting from 1,000,000 IDR ($59).
Step 3: Yogyakarta International Airport to City Centre by Train
Yogyakarta International Airport, which now acts as the primary airport in Yogyakarta, is about 42 km away from the city centre.
You have three options when travelling from Yogyakarta Airport to the city centre:
- 40-minute train – 20,000 IDR ($1.20)
- 1.5 to 2-hour bus – 70,000 IDR ($4.10)
- 1.5-hour taxi – 205,000 IDR ($12.10)
With the train, you’ll get off at Tugu Station near Malioboro Street. On the other hand, the bus has several drop-off points within and outside Yogyakarta city centre. You can ask which bus has the closest drop-off point from your accommodation.
For more details, you can visit our page on Yogyakarta Airport.
Best places to stay in Yogyakarta
Jogja Village - Budget Friendly
If you crave a tropical haven in the heart of the city with a stunning outdoor pool, Jogja Village is an ideal option.
It’s a 10-minute drive from Kraton Palace and is surrounded by a host of cool coffee shops and boutiques.
Choose from a range of colourfully decorated rooms, some with romantic four-poster beds and Bali-style open-air bathrooms. There is an excellent restaurant with seating by the pool as well as a fully equipped spa.
It’s one of Yogyakarta’s best family-friendly hotels in its price range and features an indoor play area.
- Swimming pool
- Spa
- Family-friendly
- Delicious on-site restaurant
Double rooms start from $27 per night
Rumah Mertua Heritage - Budget Friendly
Situated on the northern outskirts of Yogyakarta, you’ll enjoy a quiet Bali-style tropical haven with an inviting outdoor pool. Each room is tastefully decorated and includes TV, air-conditioning and modern ensuite bathrooms. The standout feature has to be the evocative garden restaurant with traditional Javanese décor.
- Outdoor swimming pool
- Stunning garden
- Spa
- On-site restaurant
Double rooms start from $20 per night
Snooze - Budget Friendly
This adult-only cosy guest house is situated in the heart of the Kraton palace district, and is like nowhere else in town.
Rooms are set around a central courtyard filled with tropical plants. In fact, even in the rooms it feels like you have stepped into the rainforest. There are plants, natural bamboo fixtures and colourful jungle murals painted on the walls.
Dotted throughout the guesthouse are several areas to socialise. It features a shared kitchen and coffee shop and airport pickup is available for an additional charge.
- Social and fun atmosphere
- Convenient location
- Garden and terrace
- On-site cafe
Double rooms start from $10 per night
Rounding it up
We hope this guide was helpful in planning how to get from Jakarta to Yogyakarta. If there's anything else you're wondering about, drop us a comment and we'll do our best to answer you within a few days.
PS: If you've recently travelled this route, share your experience with fellow travellers and help us improve this post. Thanks for helping out our travel community!
Frequently Asked Questions about Jakarta to Yogyakarta
What is the distance from Jakarta to Yogyakarta?
The distance from Jakarta to Yogyakarta is 560 kilometre (348 miles).
What is the fastest way to get from Jakarta to Yogyakarta?
The fastest way to get from Jakarta to Yogyakarta is by flight and takes 2 hours 50 minutes.
What is the cheapest way to get from Jakarta to Yogyakarta?
The cheapest way to get from Jakarta to Yogyakarta is by bus with ticket costs starting from 175,000 IDR ($10.40).
Was this post helpful?
Click on a star to rate it!
Average rating 5 / 5. Vote count: 9
No votes so far! Be the first to rate this post.
We are sorry that this post didn't meet your expectations.
Your feedback is very valueable to us
What was missing in this post? (TIP: If you want us to reply to your feedback, you can leave your email in this text box.)
Ela is a storyteller, content producer, solo traveller and a mermaid-in-training. When she’s not in front of her laptop, you will find her barefoot and living her best tan on some island in the Philippines… Or exploring the depths of its seas as a budding freediver. An island girl at heart, she’ll be happy anywhere there is sea, sand, sun and coffee.
Based in Bali, Maarten’s passion for travel is undeniable. In 2016, he decided to quit his job as a stock analyst and started doing what he always dreamed of: travelling through South East Asia and helping other people plan their trips. When he is not working on Gecko Routes, you’ll find him surfing in the ocean or exploring the best gems of Indonesia.

