Impact-Site-Verification: 9e0dad4c-1ecb-4b27-8cf1-32aa58dbb403

Skip to content
Search AI Planner

Jakarta to Surabaya by bus

Typical ride 13h 00m over 780 km. Starting fares around $15 ($15–32). Compare operators - we don't sell tickets.

Route snapshot

Duration
13h 00m
Distance
780 km
Typical price
$15–32
Tip
A very long ride along the Trans-Java toll road, usually in executive or sleeper seats. Express trains from Jakarta are much quicker, so the bus is for flexible or last-minute plans.

Over 780 km the starting fare works out at $1.92 per 100 km - cheaper per kilometre than 449 of the 475 $-priced routes we track. See the bus fare index. Fares are editorial starting prices, not live quotes.

Trip plannerEstimates

Jakarta to Surabaya: bus, train, flight or drive?

We compared the ways to travel for Mon 2 Nov 2026 and 1 traveller. Bus figures come from our route data; train, flight and drive are our estimates, not live prices. We don’t sell tickets - the real fares are with the operators below.

Best overall

Bus

Strong on cost and CO2. Scores 65/100 on our weighted mix of time, cost, comfort and CO2.

Score weights: time 35% · cost 30% · comfort 20% · CO₂ 15%

See live bus fares
Door to door
13h 55m13h on the move
Estimated fare
$15–30per person
Carbon
23 kgCO₂e per traveller

Cheapest

Bus

$15–30

About 24% less than the next cheapest option (train), counting typical fares.

See live bus fares

Quickest

Flight

4h 55m door to door

Door to door about 4h 55m - 5h 15m quicker than the next fastest (drive).

Search flights

Greenest

Bus

23 kg CO₂e each

About 23 kg CO2e per traveller, roughly 82% less than drive.

See live bus fares

Door-to-door time

The real trip, not just the ride: getting to the station or airport, check-in and waiting all count.

Door-to-door time by way of travelling Bus 13h 55m (13h on the move, 55 min getting there and waiting); Train 11h 25m (10h 35m on the move, 50 min getting there and waiting); Flight 4h 55m (1h 40m on the move, 3h 15m getting there and waiting); Drive 10h 10m (9h 45m on the move, 25 min getting there and waiting). Estimates. Bus 13h 55m 13h 13h on the move + 55 min transfers & waiting Train 11h 25m 10h 35m 10h 35m on the move + 50 min transfers & waiting Flight QUICKEST 4h 55m 1h 40m on the move + 3h 15m transfers & waiting Drive 10h 10m 9h 45m 9h 45m on the move + 25 min transfers & waiting Door-to-door time by way of travelling Bus 13h 55m (13h on the move, 55 min getting there and waiting); Train 11h 25m (10h 35m on the move, 50 min getting there and waiting); Flight 4h 55m (1h 40m on the move, 3h 15m getting there and waiting); Drive 10h 10m (9h 45m on the move, 25 min getting there and waiting). Estimates. Bus 13h 55m 13h 13h on the move + 55 min transfers & waiting Train 11h 25m 10h 35m 10h 35m on the move + 50 min transfers & waiting Flight QUICKEST 4h 55m 1h 40m on the move + 3h 15m transfers & waiting Drive 10h 10m 9h 45m 9h 45m on the move + 25 min transfers & waiting

Estimated cost

Typical cheap-to-flexible range. The dot marks the middle of the range. Not live prices.

Estimated cost range by way of travelling Bus $15–30 per person; Train $16–45 per person; Flight $60–150 per person; Drive $50–135 per person. Estimates, not live prices. Bus CHEAPEST $15–30 per person Train $16–45 per person Flight $60–150 per person Drive $50–135 per person (whole car) Estimated cost range by way of travelling Bus $15–30 per person; Train $16–45 per person; Flight $60–150 per person; Drive $50–135 per person. Estimates, not live prices. Bus CHEAPEST $15–30 per person Train $16–45 per person Flight $60–150 per person Drive $50–135 per person (whole car)

Scorecard

Each way scored 0-100 on four things. A bigger shape means a better balance.

Scorecard radar: time, cost, comfort and green score per way of travelling Bus: time 35, cost 100, comfort 47, green 88; Train: time 43, cost 76, comfort 66, green 84; Flight: time 100, cost 23, comfort 62, green 46; Drive: time 48, cost 25, comfort 30, green 32. Time Cost Comfort Green
  • Bus 65 out of 100
  • Train 64 out of 100
  • Flight 61 out of 100
  • Drive 35 out of 100

Bus: step by step

65/100

  1. Leave your door for the coach station25 min
  2. Check in and board15 min
  3. Coach ride (long - night departures exist on many operators)13h
  4. Coach station to your final stop15 min
Door to door13h 55m
Time weight 35%35 out of 100
Cost weight 30%100 out of 100
Comfort weight 20%47 out of 100
Green weight 15%88 out of 100

Duration and fare range from our route data.

From our route data

See live bus fares

The night-bus idea

Evening Morning

At about 13h on the road, this is a ride worth doing overnight. Some operators run night departures on long routes - check the times with the providers below. Sleep on the coach and you skip a hotel night, roughly $35–75 for one traveller (1 room at a typical budget rate).

Trade-off: coach sleep is lighter than a bed, and you arrive early with a day ahead of you - a left-luggage locker helps. Hotel saving is an estimate.

Split the cost

Per person, a shared car beats the typical bus fare once 4 people share it (✓).

Per-person figures use the middle of each estimate. The low end of the car range assumes your own car (fuel and tolls); the high end adds a one-day hire car.

See the numbers (table)
Estimated comparison of ways to travel from Jakarta to Surabaya
WayDoor to doorOn the moveFareCO₂e eachScore
Bus13h 55m13h$15–3023 kg65/100
Train*11h 25m10h 35m$16–4531 kg64/100
Flight*4h 55m1h 40m$60–150106 kg61/100
Drive*10h 10m9h 45m$50–135133 kg35/100

* Our estimate, not a quote. Bus: duration, distance and fare range from our route data.

How we estimate
  • Bus uses the duration, distance and typical fare range in our route data (editorial figures, not live quotes).
  • Train, flight and drive are estimated from the 780 km road distance (with fixed average speeds and per-kilometre price bands, scaled to this route’s own bus fare level). A straight-line distance of about 80% of the road distance is used for flights.
  • Door to door adds the time that is not travelling: about 55 min for a coach (to the station, boarding, onward), 50 min for a train, 195 min for a flight (to the airport, check-in and security, baggage, into town) and 25 min for a car (loading, parking).
  • Cost is a cheap-to-flexible range per person; flights include airport transfers; cars are priced per car (fuel and tolls at the low end, plus a one-day hire car at the high end) and split between up to four people.
  • CO₂e per traveller uses typical factors per passenger-km: coach 0.03 kg, train 0.04 kg (0.015 kg on electric high-speed lines), short-haul flight 0.14-0.23 kg without radiative forcing, car 0.17 kg per vehicle-km shared between the people in it.
  • Scores run 0-100: time (fastest door to door = 100), cost (cheapest typical total = 100), comfort (our editorial rating, lower for very long rides) and green (lower emissions per km = higher). Best overall weights them time 35%, cost 30%, comfort 20%, CO₂ 15%.
  • Not every corridor has a direct train or airport service, and car journeys may involve ferries or tolls we do not know about. Treat everything except the bus figures as a starting point and check the operators.

The cheapest way from Jakarta to Surabaya is the bus (about $15–30 per person); the quickest is the flight (about 4h 55m door to door); the best overall balance is the bus; the lowest-carbon choice is the bus (about 23 kg CO2e per traveller). The bus takes about 13h on the road over roughly 780 km. Bus figures come from our route data; train, flight and drive figures are our own estimates, not live prices.

Fares and times other than the bus figures are estimates for planning only - they are not offers or live prices. We don’t sell tickets; compare live prices with the providers further down this page.

Compare bus prices

Every site shows different prices for the same trip - compare at least two.

Partner links are sponsored: we may earn a commission if you book, at no extra cost to you. How we make money.

Other ways to plan Jakarta Surabaya

Jakarta Surabaya: questions

How long is the bus from Jakarta to Surabaya?

The ride typically takes about 13h 00m for the 780 km journey, depending on traffic and border crossings.

How much does the bus from Jakarta to Surabaya cost?

Typical fares start around $15 ($15–32 depending on how early you book and the operator).

Which operators run this route?

Compare live departures from FlixBus, BusBud, Omio, CheckMyBus and 12Go on this page - we don't sell tickets ourselves.

Other popular bus routes