Jakarta to Yogyakarta

How to Get From Jakarta to Yogyakarta

560 kmFrom $11Research Verified

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.

Ela
Written by Ela
Senior Travel Writer
Maarten
Reviewed by Maarten
Founder & Trip Planning Expert
Updated today
COMPARE

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

Train
Duration

6-9h

Price

250,000 IDR ($14)

BusCheapest
Duration

8h 55m - 15h

Price

204,000 IDR ($11)

Flight
Duration

2h 40m

Price

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.

From

Jakarta to Yogyakarta by Train

6-9hFrom 250,000 IDR ($14)

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

to Lempuyangan Station
JakartaYogyakarta
07:35
7h 35m
15:10
07:55
8h58m
15:50
11:10
8h13m
18:53
250,000 IDR ($14)
to Tugu Station
JakartaYogyakarta
05:40
6h 54m
12:34
07:35
7h 35m
15:10
12:25
7h 29m
19:54
280,000 IDR ($16)

*Indicated ticket prices are for economy class.

Ready to book your train?

Direct operator sites

Train schedule from Gambir Station

6h - 7h 55m710,000 IDR ($40)
to Tugu Station
JakartaYogyakarta
05:15
7h 56m
13:11
06:20
6h 25m
12:45
07:45
6h 5m
13:50
710,000 IDR ($40)

*Indicated ticket prices are for executive class.

Ready to book your train?

Direct operator sites

Booking Tip

If you're wondering why trains from Gambir Station are more expensive, it's usually because they are better trains — newer and more comfortable — than the ones coming from Pasar Senen.

You can buy your ticket onsite at the train stations, or in advance through Tiket.com or 12go.asia.

Jakarta to Yogyakarta by Bus

8h 55m - 15hFrom 204,000 IDR ($11)

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

Sumber Alam
16:50
11h 15m
04:05
17:20
10h 45m
04:05
17:30
10h 35m
04:05
204,000 IDR ($11)
Executive
Adibuzz
07:45
8h 55m
16:40
17:15
8h 55m
02:10
On request
Executive
Royal Kencana
17:00
10h 35m
03:35
17:00
12h
05:00
17:45
9h 50m
03:35
On request
Executive

View bus stations on map

From
To

Ready to book your bus?

From 204,000 IDR ($11) · 8h 55m - 15h

Booking Tip

We suggest arriving at the bus station at least 30 minutes before the departure to secure your seat.

Jakarta to Yogyakarta by Flight

2h 40mFrom 1,205,000 IDR ($67)

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

50 minutes85,000 IDR ($4.80)

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

1h 10m1,100,000 IDR ($62)

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

40 minutes20,000 IDR ($1.10)

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.

Ready to book your flight?

From 1,205,000 IDR ($67) · 2h 40m

TIP: If you decide to travel by plane, please consider including a carbon compensation fee to reduce your impact on the environment.

CHANGELOG

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.

STAY

Our favourite places to stay in Yogyakarta

Here are our favourite places to stay in Yogyakarta for every budget.

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

View on Booking.com
Budget

Rumah Mertua Heritage

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
View on Booking.com
Budget

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

View on Booking.com

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.

TRUST

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.

About the Authors

Ela
Ela

Senior Travel Writer

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.

Maarten
MaartenReviewer

Founder & Trip Planning Expert

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.

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.

Stay Connected

Join our Community

We're a small team of passionate travellers sharing what we've learned on the road. Get our best tips, route updates, and travel stories delivered to your inbox.

Unsubscribe anytime.

Reader Comments

6 comments
Loading comments...

Leave a Comment