Yogyakarta to Surabaya Train

Take a comfortable and efficient train ride from Yogyakarta to Surabaya, linking two of Java’s most iconic cities. Whether you’re traveling for culture, business, or sightseeing, this route offers a convenient and scenic way to explore East Java. With multiple departures throughout the day and modern onboard amenities, the Yogyakarta to Surabaya train journey is a smart and relaxing option.

Train From Yogyakarta to Surabaya

Distance
Distance
305 km
Travel Time

Travel Time

3 h 48 m
Daily Departures

Daily Departures

9
Reverse Route

Reverse Route

Yogyakarta to Surabaya Train Information

The following information about train stations will help you plan your journey from Yogyakarta to Surabaya smoothly and with ease.

Yogyakarta station
Sosromenduran, Gedong Tengen, Yogyakarta, Indonesia
Learn More
Surabaya Pasar Turi
Semarang St No.1, Tembok Dukuh, Bubutan, Surabaya City, East Java 60173, Surabaya, Indonesia
Learn More

Yogyakarta to Surabaya Rail Map

The Yogyakarta to Surabaya rail line spans roughly 305 kilometers, offering a smooth eastbound journey across Central and East Java. This route is served by several fast and comfortable trains that pass through key towns and local stops, making it popular among both tourists and commuters.

With 9 daily departures, trains run from early morning until late at night, starting at 02:40 and ending around 23:30. Travel times range from 3 hours 48 minutes to 4 hours 47 minutes, depending on the train type. Ticket prices begin at just 35€, making this route both time-efficient and affordable for travelers exploring the heart of Java.
Yogyakarta to Surabaya
Tips to Buy Train Tickets
Plan ahead and make your booking stress-free with these useful tips for buying train tickets in Indonesia.
  • Book Early
    Train tickets in Indonesia can sell out quickly, especially during weekends and holidays, so early booking is highly recommended.
  • Book Tickets Easily Online
    Use platforms like Rail Ninja or High-Speed Train website to quickly compare routes, check schedules, and secure your seats in just a few clicks.
  • Prepare Your ID
    You’ll need to provide a valid ID (passport or national ID) when booking tickets and during check-in at the station.
  • Choose the Right Class
    Compare Economy, Business, Executive, or High-Speed (KCIC) classes based on your comfort level and travel budget.
  • Know Your Station
    Larger cities like Jakarta have multiple stations, so make sure you’re booking from and to the correct one.
  • Bring a Copy of Your Ticket
    Keep a printed or digital copy of your e-ticket to scan at the station gates or present to staff if needed.
  • Arrive Early
    Arriving at least 30 minutes before departure helps ensure smooth check-in and boarding.
  • Check Station Names Carefully
    Some station names can be similar, double-check to avoid arriving at the wrong terminal.
  • Select Your Seat (if available)
    Some platforms allow seat selection, so choose window or aisle seats according to your preference.
  • Travel During Off-Peak Hours
    Trains are less crowded and sometimes cheaper during weekdays or mid-day departures, offering a more relaxed travel experience.
Try the new Rail Ninja App today
Get our free app to book & manage your trips on the go
Rail Ninja App

FAQ: What to Know About the Yogyakarta to Surabaya Train

Popular Routes

Would you like to experience a train journey in Indonesia? Choose your perfect ticket from different routes today!

MORE DETAILS
MORE DETAILS
MORE DETAILS
MORE DETAILS
MORE DETAILS
MORE DETAILS