Yogyakarta to Surabaya train

Trains from Yogyakarta to Surabaya start at €34.44 and take 2h 40m at their fastest.

YogyakartaYogyakartaSurabayaSurabaya
Sahid Hotel, Surabaya

The Trains from Yogyakarta to Surabaya starts at €34.44 and takes 2h 40m door to door, run by 2 operators over 270 km, with around 10 departures a day. Fares bottom out about 45 days before departure.

Checked September 13, 2026Priced for September 29, 2026One passenger, all fees included

  • 2h 40mDoor to door
  • 1h 56mMoving
  • €34.44 to €70.19From
  • 06:02 to 17:11First and last departure
  • 10Per day
  • 8.9 kgCO2

First and last are taken from the services we sell on September 29, 2026. The return direction keeps its own timetable and is not these times reversed.

€34.44 to €70.19 for one passenger across the 14 departure dates priced here. The low end is one day, not every day. Worked out from this corridor rather than held for anybody. The operator sets the price on the day.

Fares by date

What this journey usually costs, by departure date. It shows which days run dearer.

Typical fares

  1. about €70.19Mon14
  2. about €65.24Tue15
  3. about €58.64Wed16
  4. about €63.59Thu17
  5. about €54.79Fri18
  6. about €55.89Sat19
  7. about €50.94Sun20
  8. about €37.74Mon21
  9. about €34.44Tue22
  10. about €39.94Wed23
  11. about €45.99Thu24
  12. about €44.89Fri25
  13. about €43.79Sat26
  14. about €42.14Sun27

Based on what this route has cost recently. The operator sets the price on the day, and the live fare is confirmed when you book.

Real services

The cheapest and the fastest on September 29, 2026

Cheapest€29.49
  1. KAI KA310106:022h 8m08:10Yogyakarta railway stationSurabaya Kota railway station

Door to door 2h 52mCO2 8.9 kgChanges 0Refundable

Fastest€38.29
  1. Kereta Api Indonesia KA960806:431h 56m08:39Yogyakarta railway stationSurabaya Kota railway station

Door to door 2h 40mCO2 8.9 kgChanges 0Refundable

Carriers

Rail operators

Every operator we sell on this corridor. Speed is the carrier's own typical cruising speed, not the average over this route.
OperatorFrom
KAI€29.49
Kereta Api Indonesia€35.54

The train gets you into Surabaya. It does not get you a bed, and neither do we.

A hotel room

A room in Surabaya for the night the train gets in

Sort by distance from Surabaya Kota railway station and you can see which places are ten minutes on foot and which are not.

Partner links. We do not sell accommodation. We earn a commission when a booking completes, and it never changes what you pay.

Booking window

When to book Yogyakarta to Surabaya

The same search run across the whole booking window, so the shape of the curve is visible rather than described.

  1. €35.5490 days
  2. €29.4960 days
  3. €25.6445 days
  4. €27.2930 days
  5. €33.1821 days
  6. €42.1414 days
  7. €49.707 days
  8. €58.643 days
  9. €67.401 days
Cheapest lead time
Fares bottom out around 45 days ahead, at €25.64.
How much it moves
The gap between the cheapest and most expensive lead time is 163 percent. The most expensive point is €67.40, 1 days out.
What that means
Today sits inside the cheap window, which closes about 45 days before departure. Waiting from here has usually cost money on this corridor rather than saved it.
Day of the week

Which departure day costs least

Median cheapest fare for each weekday, taken across the next three weeks of real prices.

  1. €42.14Sun
  2. €37.74Mon
  3. €34.44Tue
  4. €39.94Wed
  5. €45.99Thu
  6. €44.89Fri
  7. €43.79Sat
Terminals

Where you leave from and where you arrive

Yogyakarta

Rail
  • Yogyakarta railway station
  • Cepit Station
  • Medari Station

Surabaya

Rail
  • Surabaya Kota railway station
  • Surabaya Gubeng railway station
  • Surabaya Pasar Turi railway station
The journey

What the journey actually looks like

Direct or connecting
67% of the services we sell on this corridor run through without a change. The remaining 33% involve one connection.
How far it really runs
The route covers 270 km against 270 km in a straight line, a detour of 1 percent. Track and road geometry account for the difference.
Where the change is
Connections are made at Madiun, Mojokerto, Surakarta, Grogol. The gap between arriving and leaving is 46 minutes, of which about 5 is walking.
If the connection is missed
The tightest connection we sell here has a 20 percent chance of not being made on the timetable alone. Both legs are sold on one booking, so a missed connection is ours to fix and you are rebooked at no charge.
First and last departure
The first service of the day leaves Yogyakarta at 06:02 and the last at 17:11, across 10 departures The return direction keeps its own timetable, so the times back are not these times reversed.
The alternatives

Trains against the other ways to make this journey

Door to door means the whole journey, including reaching the terminal and leaving it at the far end. Fares are the cheapest sold on each mode.
ModeDoor to doorMovingAt the endsFromCO2Per day
Train2h 40m1h 56m44m€34.448.9 kg10
Flight3h 57m47m3h 10m€38.4968.4 kg2

Questions about Yogyakarta to Surabaya

The questions people actually ask about this trip, answered from the same prices and times the page above is built on rather than written once and left to go stale.

How long does the Train from Yogyakarta to Surabaya take?

The Train from Yogyakarta to Surabaya takes 2h 40m door to door, of which 1h 56m is spent moving. The route runs 270 km. The difference between the two times is reaching the terminal and leaving it at the far end, which every time on this page includes.

How much does the Train from Yogyakarta to Surabaya cost?

The Train from Yogyakarta to Surabaya starts at €34.44 for one passenger, as of September 13, 2026. A typical fare is €39.67. Both are the total including taxes, supplier fees and our service fee, so the price here is the price at checkout.

Who runs the Train from Yogyakarta to Surabaya?

2 operators run the Train from Yogyakarta to Surabaya: KAI, Kereta Api Indonesia. Between them they file around 10 departures a day. The operator table on this page compares them on fare, journey time, cruising speed, fare conditions and what is provided on board.

Which terminal does the Train from Yogyakarta to Surabaya use?

The Train from Yogyakarta to Surabaya leaves from Yogyakarta railway station and arrives at Surabaya Kota railway station. Allow about 44m for reaching the departure terminal and leaving the arrival one. That time is already inside every door to door figure quoted on this page.

Is the Train the best way from Yogyakarta to Surabaya?

The Train is both the cheapest and the fastest way from Yogyakarta to Surabaya, at €34.44 and 2h 40m door to door, against 1 other modes that also run the corridor. On this route there is no trade to make between the money and the hours.

When should I book the Train from Yogyakarta to Surabaya?

Fares for the Train from Yogyakarta to Surabaya bottom out around 45 days ahead, at €25.64. The gap between the cheapest and most expensive lead time across the window is 163 percent, measured on September 13, 2026. Booking inside the final week has consistently cost more.

How much CO2 does the Train from Yogyakarta to Surabaya produce?

The Train from Yogyakarta to Surabaya produces about 8.9 kg of CO2 per passenger over 270 km, which works out at roughly 33 grams per passenger kilometer. That figure is for the whole journey and for one traveler, not for the vehicle.

What is provided on board the Train from Yogyakarta to Surabaya?

Operators on the Train from Yogyakarta to Surabaya publish Power outlets, Wi-Fi. That is what 2 carriers on this corridor state about their own fleets, across a journey of 2h 40m door to door. Where a carrier publishes nothing, this page lists nothing for it.

Where these numbers come from

Places, coordinates, operators, which operator serves which pair, and every distance on this page are real and come from open data. Where a corridor has a filed timetable the departure times are real too, and ferry fares are the prices the operators publish themselves.

Observed service A carrier record shows this named operator serving this named pair, and we carry that through unchanged.

Where no operator publishes a fare for a corridor, the price here is our own estimate, worked out from the real distance and the real operator through a fare curve that follows lead time, day of the week and season. It tells you roughly what the journey costs. It is not a seat anyone has agreed to sell, and the payment step will not take it.

Defined in full at Door to door, Fares, The booking window, Carbon

On this page
Every figure above was computed for Yogyakarta to Surabaya on September 13, 2026: 270 km of route against 270 km in a straight line, 10 services a day, 2 operators a cheapest fare of €34.44, and 2h 40m door to door on the fastest mode. The return direction is computed separately and its numbers are not these numbers.

Related journeys

Being on the water gives Surabaya a set of days out that do not start at a station. We do not sell those either.

A guided tour group

Day trips out of Surabaya and across Indonesia

Day trips that leave Surabaya in the morning and cover a good part of Indonesia by evening.

Partner links. We do not sell tours or tickets. We earn a commission on a booking, and it never changes the price.

Plan with Ori

Ori, the trip planner

Ask it something like this