
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.
If you're on a budget, the cheapest option is by bus with tickets starting at 204,000 IDR ($11).
6-9h
250,000 IDR ($14)
8h 55m - 15h
204,000 IDR ($11)
2h 40m
1,205,000 IDR ($67)
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.
Already in Yogyakarta?
Onward from Yogyakarta
Once you're in Yogyakarta, here's where to next — 4 researched onward routes to pick from.
Jakarta to Yogyakarta by Train
The train is the most cost-efficient way to travel from Jakarta to Yogyakarta. Prices start from as low as 250,000 IDR ($14) when you take an economy train. Travel time is 6-9h.
For this route, you can choose between two seat classes: economy and executive. As this is quite a long journey, consider paying more for an executive-class seat with rates from 710,000 IDR ($40).
Check out our guide for Train Travel in Indonesia for more info on train classes.
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.
With the overnight trains, you can sleep for some part of the trip. But note that you will arrive too early in Yogyakarta. You'll most likely still have to book a hotel for that night, unless you're okay to wander around without having enough rest.
Departure and arrival station
From Jakarta city centre, trains depart from two railway stations.
Both the economy and executive class trains are available at Pasar Senen Station. When coming from Gambir Station, you can only book an executive class seat.
In Yogyakarta city centre, trains arrive at either Tugu Station (Yogyakarta Station) or Lempuyangan Station, which are 2 km apart. Some trains from Pasar Senen make a stop at both Tugu and Lempuyangan. Trains from Gambir stop only at Tugu Station.
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
Jakarta to Yogyakarta by Bus
The cheapest way to get from Jakarta to Yogyakarta is by bus. Ticket prices start from as low as 204,000 IDR ($11).
It's also the slowest and least comfortable option, though. Travel time can take between 8h 55m - 15h.
For comparison, the cheapest bus price costs only slightly less than a seat on an economy train. And if we are to choose between the economy train or the bus, we'd pick the train hands down. It's faster and overall more comfortable.
Some of the bus companies that operate on the Jakarta to Yogyakarta route are: Sumber Alam, Adibuzz and Royal Kencana.
You can expect plenty of departures throughout the day. But as this is quite a long bus journey, we recommend taking one of the overnight bus journeys.
Departure and arrival station
Jakarta does not have one single bus terminal for buses going to Yogyakarta. There are at least 5 bus stations scattered around the city. The catch? They're all quite far from Central Jakarta, which is where you'll most likely be staying if you're visiting the city for sightseeing.
The closest bus station to Jakarta city centre is Terminal Grogor Sumber Alam, some 5 km away. The other bus stations are much further, about 12 to 16 km from Jakarta city centre.
In Yogyakarta, there are 2 bus stations: Terminal Giwangan and Jurangkah Sumber Alam. These are about 1 km apart and 7 km from the tourist centre in Malioboro.
Bus schedule from Jakarta to Yogyakarta
Booking Tip
Jakarta to Yogyakarta by Flight
Flying from Jakarta to Yogyakarta is the fastest option for this route. Travel time is only 2h 40m. It's also the most expensive, though, with prices from 1,205,000 IDR ($67).
There are two airports in both Jakarta and Yogyakarta:
Flights from Soekarno–Hatta International Airport (CGK) arrive at Yogyakarta International Airport (YIA).
Flights from Halim Perdanakusuma International Airport (HLP) arrive at Adisutjipto International Airport (JOG).
Choose your flight arrival and departure airports well so that you want have a hard time with the transfers from and to your hotels in Jakarta and Yogyakarta.
Step 1: How to get to Jakarta Airport
You can choose from 2 airports in Jakarta when taking a flight to Yogyakarta.
Soekarno–Hatta International Airport (CGK) is the main airport serving Indonesia's capital city and is 30 km away from the centre.
The other smaller airport is Halim Perdanakusuma International Airport, just 15 km from Central Jakarta.
Jakarta city centre to Soekarno–Hatta International Airport
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 BNI City (Sudirman Baru) Station to the airport. There are departures every 30 minutes from 06:19 to 20:49 daily. Ticket prices start from 85,000 IDR ($4.80) for the train ride that takes 50 minutes.
Alternatively, you can take a bus or a taxi, but these can easily take at least 1.5 hours.
Damri buses depart from Gambir Train Station every 30 minutes from 05:16 to 19:46. You can get a seat for 85,000 IDR ($4.80).
If you prefer a private transfer, we recommend booking one with Klook beforehand. It is often the cheapest option with rates from 200,000 IDR ($11), depending on which area you’re staying in. Try to book your car at least 5 hours in advance to avoid an inconvenience.
For more info, check out our complete guide for Jakarta Airport.
Jakarta city centre to Halim Perdanakusuma International Airport
No direct buses or trains are operating from Central Jakarta to Halim Perdanakusuma International Airport, so your best option is to take a private transfer.
For this route, it's best to hail a taxi through Grab or Gojek. Rates start from 70,000 IDR ($3.90) for the 40-minute ride.
Step 2: Jakarta to Yogyakarta by Flight
Flights from Soekarno–Hatta International Airport to Yogyakarta Airport take about 1h 10m. Airfares start from 1,100,000 IDR ($62).
There are plenty of airlines operating on this route from Jakarta to Yogyakarta. Some of them are Transnusa, Batik Air, Garuda Indonesia, and Citilink.
If you're looking to depart from Halim Perdanakusuma International Airport and arrive at Adisucipto International Airport (JOG), flights are slightly more expensive, with rates from 1,400,000 IDR ($78).
Fly Jaya and Citilink operate on this route.
Step 3: Yogyakarta Airport to Yogyakarta City Centre
Both airports in Yogyakarta are easily accessible by public and private transport.
Yogyakarta International Airport to Yogyakarta city centre
Yogyakarta International Airport is the city's primary airport, located about 45 km away from the city centre. The most convenient way to get to your hotel, especially if it's in the tourist centre in Malioboro, is by train.
A ticket for a regular free-seating train costs 20,000 IDR ($1.10) and travel time is about 40 minutes. The airport rail link is connected to Yogyakarta International Airport. You can get off the train at Tugu Station (Yogyakarta Station).
Alternative options are a bus that costs 80,000 IDR ($4.50) and a taxi with rates from 240,000 IDR ($13). For private transfers, prices are similar whether you take a Grab/Gojek or book one in advance via Klook.
Heads up: by bus or taxi, the journey from Yogyakarta International Airport to the city centre takes 1.5 to 2 hours.
For more details, you can visit our page on Yogyakarta Airport.
Yogyakarta Adisutjipto Airport to Yogyakarta city centre
From Adisutjipto Airport, the train is also the best way to get to the city centre.
You can board the train at Maguwo Station, which is connected to Adisutjipto Airport through an underpass. From here, it's a 15 to 20-minute ride to Tugu Station in central Yogyakarta.
A train ticket costs 8,000 IDR ($0.40).
Alternatively, you can take a 45-minute bus for 4,000 IDR ($0.20) or a 45-minute private transfer with rates from 70,000 IDR ($3.90).
Check out our complete guide for Adisutjipto Airport for more info.
TIP: If you decide to travel by plane, please consider including a carbon compensation fee to reduce your impact on the environment.
Route Update History
Updated flight prices.
Updated bus prices.
New train operators: from Pasar Senen Station (PSE), from Gambir Station (GMR).
Train operator no longer listed: to Lempungayan Station.
Updated train prices.
Updated train departure times.
New train operator: to Lempuyangan Station.
Train operators no longer listed: from Pasar Senen Station (PSE), from Gambir Station (GMR).
Bus operators no longer listed: Agramas, Sinar Jaya.
Bus operator no longer listed: PO Santoso.
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 commentsLeave a Comment