
How to Get From Jakarta to Yogyakarta
Train · Bus · Flight
In this in-depth route guide, you'll find the best ways to travel the 560 kilometre (348 miles) distance from Jakarta to Yogyakarta. By the end of this guide, you'll know exactly how to get there — whether you want to travel on a budget, reach Yogyakarta as fast as possible, or enjoy the ride in comfort. We base our information on verified schedules, ticket prices, and on-the-ground insights from recent travellers.
What are the 3 ways to travel from Jakarta to Yogyakarta?
There are three ways to travel the 560 km distance from Jakarta to Yogyakarta. You can choose between the train, bus, and flight.
The journey takes between 2h 50m–16h and the quickest way is by flight (2h 50m). If you're on a budget, the cheapest option is by bus with tickets starting at 175,000 IDR ($10).
6h 10m - 9h
195,000 IDR ($11)
10.5-16 hours
175,000 IDR ($10)
2h 50m
550,000 IDR ($32)
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), while executive class seats, with more legroom, start from 425,000 IDR ($25).
The train journey from Jakarta to Yogyakarta takes 6h 10m - 9h, 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.
Train schedule from Pasar Senen Station
*Indicated ticket prices are for economy class.
Ready to book your train?
Direct operator sites
Train schedule from Gambir Station
*Indicated ticket prices are for executive class.
Ready to book your train?
Direct operator sites
Booking Tip
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), but it’s also by far the slowest option. The journey by bus takes between 10.5-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
Booking Tip
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.
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.70) 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 ($15), 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.40) 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). 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 ($58).
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)
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.
TIP: If you decide to travel by plane, please consider including a carbon compensation fee to reduce your impact on the environment.
Our favourite places to stay in Yogyakarta
Here are our favourite places to stay in Yogyakarta for every budget.
Jogja Village
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
- Outdoor swimming pool
- Stunning garden
- Spa
- On-site restaurant
Snooze
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
The distance from Jakarta to Yogyakarta is 560 km.
ABOUT YOUR DESTINATION
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.
How We Research
Every route on Gecko Routes is independently researched and regularly verified.
500+
ROUTES RESEARCHED
Every route is personally travelled and documented by our team, covering Southeast Asia's most popular and off-the-beaten-path connections.
Monthly
UPDATES
Routes are reviewed on a regular cycle to catch schedule changes, new operators, and price updates. Every guide shows when it was last verified.
Verified
BY TRAVELLERS
Tips and corrections from our community of travellers help keep routes accurate between team visits. Your experience makes this guide better for everyone.
Affiliate Disclosure
Some links on this page are affiliate links. If you book through them, we earn a small commission at no extra cost to you. This helps us keep Gecko Routes free and up to date.





Reader Comments
6 comments