How to Get to Yogyakarta 2026: Flights, Trains & Best Routes

How to Get to Yogyakarta 2026: Flights, Trains & Best Routes

Key Takeaways: Most international visitors fly into Yogyakarta International Airport (YIA) via Jakarta or Bali. Direct international flights from Singapore (AirAsia, 2h) and Kuala Lumpur (AirAsia, 2h) avoid Jakarta altogether. The Jakarta-Yogyakarta train (8-9h) is excellent for budget travelers who enjoy scenic overland travel and want to skip the airport. From Bali, fly (1h) or take the overnight ferry-bus combo (12-16h budget option). The YIA airport is 40km from the city center — factor in transfer time.

[ORIGINAL DATA] Yogyakarta International Airport (YIA, IATA: YIA) opened in June 2020, replacing the original Adi Sutjipto Airport (JOG) which closed. YIA is located in Kulon Progo Regency, 40km west of the city center. Current airlines serving YIA include: Lion Air, Batik Air, Citilink, Garuda Indonesia, AirAsia, and Scoot. The Yogyakarta-Jakarta (Gambir) train route (Taksaka and Argo Dwipangga services) operates 8-9 times daily in each direction, with premium Eksekutif carriages at 350,000-550,000 IDR and economy Ekonomi at 150,000-200,000 IDR.

For full trip context, see the Yogyakarta Travel Guide. For where to stay near the city center and transport options, see Where to Stay in Yogyakarta.


Getting to Yogyakarta: At a Glance

Origin Best option Duration Cost
Jakarta Fly or train 1h (fly) / 8-9h (train) 200,000-500,000 IDR
Bali Fly 1h 250,000-600,000 IDR
Singapore AirAsia direct 2h $50-120 SGD
Kuala Lumpur AirAsia direct 2h 150,000-450,000 IDR
Surabaya Train or fly 4.5h (train) / 1h (fly) 200,000-400,000 IDR

From Jakarta to Yogyakarta

Option 1: Fly (Fastest, Often Cheapest)

Airlines: Lion Air, Citilink, Batik Air, Garuda Indonesia
Duration: ~1 hour
Cost: 200,000-500,000 IDR one-way

Multiple flights daily from Jakarta’s airports to Yogyakarta YIA. Budget carriers (Lion Air, Citilink) offer the cheapest fares — book 2-4 weeks ahead for best prices. Garuda Indonesia is more expensive but includes luggage and meals.

Jakarta airports note: Most budget flights depart from Soekarno-Hatta International (CGK), Terminal 1A/1B/2D depending on airline.

Option 2: Train (Scenic and Reliable)

Route: Jakarta Gambir Station → Yogyakarta Tugu Station
Duration: 8-9 hours
Cost: 150,000-550,000 IDR (Ekonomi to Eksekutif class)

The Java train network is one of Asia’s best-maintained and most pleasant to travel. The Taksaka (overnight) and Argo Dwipangga (daytime) services are the primary Jakarta-Yogyakarta routes.

[UNIQUE INSIGHT] The overnight Taksaka Express (departs Jakarta Gambir ~8-10pm, arrives Yogyakarta Tugu ~5-6am) is an excellent budget option — Eksekutif class costs ~350,000-400,000 IDR but saves a night’s accommodation and puts you in Yogyakarta ready for the Borobudur day. Book via KAI Access app or website.

Book train tickets: KAI Access app (recommended) or Traveloka platform. Advance booking of 7-14 days required for popular departure times.

Option 3: Bus

Duration: 10-12 hours
Cost: 150,000-300,000 IDR

Express buses from Kampung Rambutan terminal (Jakarta) to Giwangan bus terminal (Yogyakarta). Slower than train with fewer amenities. Only worthwhile if train is fully booked.


From Bali to Yogyakarta

Option 1: Fly (Best Value)

Airlines: Lion Air, Citilink, AirAsia, Batik Air
Duration: ~1 hour
Cost: 250,000-600,000 IDR one-way

Ngurah Rai International Airport (DPS, Bali) → Yogyakarta International Airport (YIA). Multiple flights daily. Budget airlines dominate this route. Book 1-2 weeks ahead for prices under 300,000 IDR.

Bali-Yogyakarta is one of Indonesia’s most frequently flown domestic routes — flight availability is excellent year-round.

Book Bali to Yogyakarta flights on Klook

Option 2: Bus + Ferry (Budget Overland, 12-16 Hours)

Route: Bali → Gilimanuk ferry → East Java → overnight bus → Yogyakarta
Duration: 12-16 hours total
Cost: 150,000-250,000 IDR

Long but very cheap. Overnight buses from Denpasar’s Mengwi terminal cross the Bali Strait ferry (included) and continue through East Java to Yogyakarta. Budget travelers with time and no flight preference use this route.


From Singapore to Yogyakarta

Direct Flights (Best Option)

Airlines: AirAsia, Scoot
Duration: ~2 hours
Cost: $50-120 SGD one-way

AirAsia and Scoot operate direct flights from Singapore Changi to Yogyakarta YIA. Significantly more convenient than transiting Jakarta. Book 3-4 weeks ahead for prices under $70 SGD.

Singapore-Yogyakarta directs are often underpriced relative to Singapore-Bali for the same travel dates — check both routes when planning a Java+Bali trip.


From Kuala Lumpur to Yogyakarta

Direct Flights

Airlines: AirAsia (primary), Batik Air Malaysia
Duration: ~2 hours
Cost: 150,000-450,000 IDR (or RM50-150)

AirAsia dominates this route from Kuala Lumpur KLIA2. Direct flight 2h. Good option for travelers already in Malaysia who want to visit Java.


From Surabaya to Yogyakarta

Train (Best Option)

Route: Surabaya Gubeng Station → Yogyakarta Tugu Station
Duration: 4-5 hours
Cost: 150,000-380,000 IDR

Several trains daily. The Sancaka and Bima are the main services. 4.5-hour journey, comfortable Eksekutif class.

Fly (Fast, Comparable Cost)

Duration: ~1 hour
Cost: 200,000-400,000 IDR

Lion Air, Citilink. Faster than the train when accounting for city-to-city travel but adds airport transfer time.


Arriving at Yogyakarta International Airport (YIA)

Airport location: Kulon Progo Regency, 40km west of Yogyakarta city center

YIA to city center transfer options:

Option Duration Cost Notes
Damri bus 60-70 min 75,000 IDR Departs every 30-60 min, stops Jl. Malioboro
Taxi (metered) 50-60 min 250,000-350,000 IDR More door-to-door
Grab 50-60 min 150,000-220,000 IDR App-based, pickup may take 10-15 min
Hotel shuttle 50-60 min Free-100,000 IDR Pre-arrange with hotel

Damri bus is the best budget option — frequent departures, stops at key Yogyakarta points including Jl. Malioboro. Buy tickets at the bus counter in arrivals. No advance booking needed.


Arriving at Yogyakarta Tugu Station (Train)

Tugu Station (Yogyakarta) is centrally located — 5-minute walk to Malioboro Street and within 1km of most budget accommodation. The most convenient arrival point in the city for train travelers.

From Tugu Station:
– Walk to Malioboro: 5 min
– Grab to Prawirotaman: 10,000-15,000 IDR, 10 min
– Walk to most Sosrowijayan guesthouses: 8-12 min


Arriving at Giwangan Bus Terminal

Giwangan bus terminal is 6km southeast of the city center.

From Giwangan to city:
– Grab: 20,000-35,000 IDR (10-15 min to Malioboro)
– TransJogja bus (line 1A/1B): 3,500 IDR but longer journey


See also: Yogyakarta itinerary | best things to do in Yogyakarta | Yogyakarta hotels

Frequently Asked Questions

Is there a direct train from Jakarta to Yogyakarta?
Yes — multiple trains daily from Jakarta Gambir Station to Yogyakarta Tugu Station. Journey time 8-9 hours. The Taksaka (overnight) and Argo Dwipangga (daytime) are the main services. Book via KAI Access app.

How far is Yogyakarta airport from the city center?
40km. Transfer takes 50-70 minutes. The Damri airport bus (75,000 IDR) runs every 30-60 minutes to Malioboro. A Grab costs 150,000-220,000 IDR.

What is the easiest way to get from Bali to Yogyakarta?
Fly — 1 hour, multiple daily flights on Lion Air, AirAsia, and Citilink. The overland bus-ferry combo takes 12-16 hours and is suitable only for travelers with time and a very tight budget.

Can I take a train from Bali to Yogyakarta?
No — there is no train service to Bali (it’s an island). From Bali: fly to Yogyakarta (1h) or take the Gilimanuk ferry to Java and then a bus/train (10-14h total).



Affiliate Disclosure: This post may contain affiliate links to Klook. We earn a small commission at no extra cost to you if you book through these links.

Sources:
1. KAI Access — Indonesia Rail Network, Jakarta-Yogyakarta train schedules and fares, 2025
2. Yogyakarta International Airport (YIA) — transfer and transport guide, 2025
3. Tourism Indonesia — Yogyakarta getting there guide, 2025

Scroll to Top