How to Get from Yogyakarta to Semarang
Discover the best ways to travel from Yogyakarta to Semarang. Compare bus and train prices, durations, and comfort levels for your Java trip.
Last updated: November 5, 2026

Contents
Leaving behind the royal elegance and artistic soul of Yogyakarta for the colonial charm and coastal breeze of Semarang is a classic Central Java transit. While Yogyakarta feels like the cultural heartbeat of the island, Semarang offers a fascinating blend of Dutch heritage architecture and a bustling port city atmosphere. The journey between them cuts through the lush volcanic landscapes of the Indonesian interior, moving from the shadow of Mount Merapi toward the Java Sea.
This route is exceptionally popular for both locals and travelers, meaning you have a wealth of options ranging from budget-friendly shuttles to premium luxury coaches. Whether you are heading north to catch a flight from Ahmad Yani International Airport or simply to explore the historic Lawang Sewu building, the transit is straightforward and scenic. You can easily compare and book your tickets for this route on GoAsia.cc to ensure your preferred seat is secured before you arrive at the station.
Yogyakarta to Semarang by Bus
The bus is undoubtedly the most flexible and frequent way to travel this route. On booking platforms, tickets cost from about $4 up to about $22 (November 2026), so there is a seat for every budget. The trip takes from about 2 hours 30 minutes, and up to 5 hours depending on the service and traffic.[1] Because of the modern toll roads now connecting these two cities, the faster express services have significantly cut down travel times compared to previous years.
Executive Class Services
Executive Class is the backbone of road travel between the two cities, with departures from early morning until late evening. Tickets start at about $4 on booking platforms (November 2026).[1] These services suit travelers who value flexibility, as there is almost always a vehicle leaving within the hour.
Suite Class Luxury
For the most comfort on the road, Suite Class buses have deeply reclining seats with more personal space and privacy. They sit at the top of the price range, at up to about $22 on booking platforms (November 2026).[1] Suite Class runs only a couple of times a day, so book in advance.
Yogyakarta to Semarang by Train
Rail travelers go via Solo: KAI's Joglosemarkerto train runs between Solo Balapan and Semarang Tawang.[2] It is a scenic alternative to the toll-road bus, with more room to move around and no road traffic.
Taking the train is less about getting there fast and more about enjoying the rhythmic pace of the Javanese countryside, passing rice paddies and small villages that you miss from the highway.
Comparing Your Options
| Mode | Price (USD) | Duration | Comfort |
|---|---|---|---|
| Bus (Executive) | From about $4[1] | From about 2h 30min[1] | High |
| Bus (Suite Class) | Up to about $22[1] | From about 2h 30min[1] | Excellent |
Tips for Traveling from Yogyakarta to Semarang
- Book in Advance for Weekends: This route is very busy on Friday afternoons and Sunday evenings as locals travel between the two cities for work and school. Use GoAsia.cc to secure your seat early.
- Check the Drop-off Point: Semarang is a sprawling city. Some buses stop at the Terboyo or Mangkang terminals, while others offer drop-offs at specific travel agency offices in the city center or near the airport.
- Prepare for Air Conditioning: Indonesian buses and trains are notorious for having very strong air conditioning. Even if it is hot outside, bring a light jacket or sarong to stay warm during the trip.
- Traffic Considerations: While the toll road has improved travel times, the exits and city centers of both Yogyakarta and Semarang can become congested during peak hours. If you have a flight to catch, always allow an extra hour of buffer time.
- Snacks and Water: While some Executive and Suite buses might provide a small snack or water bottle, it is always a good idea to bring your own supplies for the journey, especially if you travel via Solo by train.
Timetable
| Bus Yogyakarta - Semarang $ 3.76–21.49 2h 25m – 5h | |
|
| Train Yogyakarta - Demak $ 13.03–20.57 7h 34m | |
|
Frequently Asked Questions
Use the booking tool on this page to compare the transport options currently available from Yogyakarta to Semarang, including current prices and schedules.
The cheapest way is an Executive Class bus, with tickets from about $4 on booking platforms (November 2026). These services are frequent and offer a good balance of price and comfort.
The fastest way is the bus via the toll road, which takes from about 2 hours 30 minutes depending on traffic and the operator.
By bus the journey takes from about 2 hours 30 minutes and up to 5 hours. By train you travel via Solo, which takes longer.
For most travelers the bus is better because it is direct and offers dozens of departures every day. The train via Solo suits you if you enjoy rail travel and want to see the countryside at a slower pace.
Buses run from early morning until late evening. Since the journey is relatively short, most people travel during the day or early evening.
Executive Class offers standard reclining seats. Suite Class is a luxury option with seats that recline much further for more privacy and personal space.
Sources and background
Numbers in the text such as [1] refer to these sources.
- [1] 12Go: Yogyakarta - Semarang timetable. Retrieved November 5, 2026.
- [2] PT Kereta Api Indonesia (KAI): Okupansi KA Jarak Jauh Tembus 256%, Joglosemarkerto Pimpin Daftar Perjalanan Terpadat. Retrieved October 28, 2026.
Guide prices and journey times are indicative, not live quotes. A booked package may include transfers and waiting time as well as the main journey. Check the selected offer, pickup point and current conditions before booking.