Planning how to get from Bandung to Yogyakarta means choosing between a scenic train ride through Java's mountains, a quick domestic flight, or a budget-friendly overnight bus. Each option has different trade-offs for time, comfort, and cost. This Bandung to Yogyakarta travel guide breaks down the route, durations, prices, and tips so you can book the right ticket with confidence.
The straight-line distance is shorter, but the actual travel distance between Bandung and Yogyakarta is approximately 400 to 430 kilometers, depending on whether you follow the rail line or the highway. Java's mountainous terrain means overland journeys take longer than you might expect. By train or road, plan for 6.5 to 9 hours of travel. A direct flight covers the air distance in roughly 1 hour, but you need to add about 3.5 hours for airport transfers, check-in, security, and getting from the airport into Yogyakarta city center.
Because both cities sit on Java's busy central corridor, you have frequent departures throughout the day and night. Your choice will depend on whether you prefer scenery, speed, or savings.
For most travelers, the train is the best overall option. Both Bandung and Yogyakarta have centrally located stations, so you avoid long airport transfers. The route passes through terraced rice fields, river valleys, and mountain landscapes that make the journey part of the experience. You also have a choice of classes, from budget economy to roomier executive carriages with air conditioning, onboard food service, and reclining seats.
Several direct train services run daily between Bandung and Yogyakarta, including Argo Wilis, Lodaya, Turangga, and Malabar. Departures leave from Bandung Station (BD) or Kiaracondong (KCA), while arrivals are at Yogyakarta Tugu (YK) or Lempuyangan (LPN). The ride typically takes 6.5 to 7.5 hours, though economy trains departing from Kiaracondong can take up to 8 hours.
Executive tickets generally cost between IDR 380,000 and IDR 550,000 per person, while economy tickets range from IDR 180,000 to IDR 250,000. Prices fluctuate with demand, so weekends and public holidays are more expensive. For a deeper look at schedules and station details, see our dedicated guide to Bandung to Yogyakarta trains.
If you are short on time, a domestic flight can shave about 2 hours off the door-to-door journey compared with the train. The flight itself takes around 1 hour, but you need to budget approximately 3.5 hours for getting to Bandung's airport, checking in, passing security, and then traveling from Yogyakarta's airport into the city. Both airports are outside their respective city centers, so transfers add up.
Flights are daily, but schedules can change and prices are usually higher than executive train tickets, especially if you book close to the departure date. For travelers on a tight Java itinerary, the flight may still be worth it because you arrive with more energy for exploring. Just remember that luggage limits, delays, and airport waiting times can eat into the time you save.
Buses and intercity shuttles are the budget champions on this route. Travel time is generally 8 to 9 hours, often with rest stops along the way. Many departures are overnight, so you can sleep through the journey and wake up in Yogyakarta without paying for a hotel night. Seats range from basic reclining buses to more comfortable VIP or sleeper configurations.
The main trade-off is comfort and predictability. Traffic on Java's highways can be heavy, especially during holiday periods, and bus terminals can feel chaotic if you are not used to them. Still, if your priority is keeping costs low, the bus is a solid choice. You can also book door-to-door shuttle services or private car transfers for a middle ground between bus and train.
Your ideal choice depends on your travel style. Here is a quick summary:
For most visitors, the executive train is the sweet spot. You skip airport chaos, enjoy a comfortable seat, and arrive in the heart of Yogyakarta ready to explore. If you are already planning your Yogyakarta itinerary, take a look at our guide to choosing a 3-day or 4-day Yogyakarta tour.
Daytime travel is ideal if you want to see the countryside. The train ride between Bandung and Yogyakarta is especially scenic in the morning and early afternoon, with views of rice paddies, rivers, and volcanic peaks. Daytime buses also give you a glimpse of local life along the route, though the views are less panoramic than the train window.
Overnight travel saves time and a hotel night. Buses depart in the evening and arrive early morning, which works well if you have limited vacation days. Overnight trains are less common on this route, so if you want to sleep through the trip, a bus is your main option. Just be prepared for a less restful sleep than a hotel bed, and plan a light first day in Yogyakarta.
Book early, especially for weekends, public holidays, and the weeks around Idul Fitri or Christmas and New Year. Train tickets can sell out days in advance, and last-minute bus seats are often limited. For trains, you can buy tickets through official apps, station counters, or reliable online travel agents. For buses, use the official operator or a trusted shuttle company.
Arrive at the train station at least 30 minutes before departure. If you are flying, allow at least 2 hours before the flight for domestic check-in. Keep some small cash for snacks, porters, and local transport at either end. Pack a light jacket for air-conditioned trains and buses, and bring a neck pillow if you plan to sleep.
Here is a practical cost snapshot to help you budget:
These are per-person one-way prices. If you are traveling as a couple or family, the cost difference between bus and executive train can add up quickly. Choose the option that matches both your budget and your need for comfort after arriving in Yogyakarta.
The travel distance between Bandung and Yogyakarta is approximately 400 to 430 kilometers, depending on whether you travel by rail or highway. Overland transit takes between 6.5 and 9 hours due to Java's mountainous terrain, while direct air transit takes roughly 1 hour in flight time plus about 3.5 hours of airport transfers.
For most travelers, the executive train is the best choice because both stations are centrally located, eliminating airport transfer hassle and offering scenic countryside views. If you are very time-sensitive and have a tight overall Java itinerary, a domestic flight may save about 2 hours door-to-door.
Yes, multiple direct train services run daily between Bandung and Yogyakarta, including Argo Wilis, Lodaya, Turangga, and Malabar. Executive and economy classes are available, with departures from Bandung Station (BD) or Kiaracondong (KCA) and arrivals at Yogyakarta Tugu (YK) or Lempuyangan (LPN).
The train ride typically takes between 6.5 and 7.5 hours, depending on the specific service and class. Budget economy trains departing from Kiaracondong may take up to 8 hours.
Executive train tickets generally cost between IDR 380,000 and IDR 550,000 per person. Economy train tickets range from IDR 180,000 to IDR 250,000. Prices vary by train service, class, and booking time, with higher demand during weekends and public holidays.
Ready to explore Yogyakarta after your journey? Book our Best of Yogyakarta Tour - 4 Days or the compact Best of Yogyakarta Tour - 3 Days to experience Borobudur, Prambanan, and more without the planning stress.