induwara.lk
induwara.lkSri Lanka · Travel

Sri Lanka Bus Fare Calculator — NTC stage chart

Find the legal NTC bus fare for any route in Sri Lanka — by distance for stage buses (Normal, Semi-Luxury, Luxury, Super-Luxury), or by route for Highway Express AC services on the E01, E03, and E04 expressways. Sources cited below.

By Induwara AshinsanaUpdated Jun 17, 2026
NTC Bus Fare Estimator
NTC gazette · verified 2026

Pick a route to auto-fill the road distance from RDA/SLTB figures, or choose Custom to type your own kilometres.

km

Enter the road distance, 0.1 to 500 km. Selecting a preset above fills this for you.

Bus class
Estimated fare
Rs 105
Stage 10 (14–15.5 km)
Per-km rate
Rs 7.00/km
For comparison only — fares are by stage, not by km.
Class multiplier
×1.00 (Normal)
Base NTC stage fare

Compare classes for this distance

Normal

Rs 105

Semi-Lux

Rs 126

Luxury

Rs 137

Super-Lux

Rs 194

Fares reconciled to Gazette Extraordinary No. 2424/35 of 21 March 2025. The chart posted inside the bus is the authoritative legal fare — where this differs, that chart wins. The table covers stages 1–37 (0500 km).

How it works

Sri Lanka bus fares are not set per kilometre — they are set per stage. The National Transport Commission (NTC), under the National Transport Commission Act No. 37 of 1991, publishes a gazetted table that divides journey distances into bands (stages) and prints a rupee fare for each stage and each bus class. The same gazette governs both the state-owned Sri Lanka Transport Board (SLTB) and licensed private operators.

  1. Identify your distance in kilometres. If you do not know the road distance, the route preset menu fills it in using verified RDA / SLTB figures (Colombo–Kandy 115 km via A1, Colombo–Galle 119 km via A2 coastal road, and so on).
  2. Find the stage the distance falls into. The NTC table uses an (min, max] rule — a 14.0 km trip is in stage 9 (12.5–14.0 km); a 14.1 km trip moves up to stage 10 (14.0–15.5 km). The boundary value sits with the lower stage.
  3. Read the Normal column for that stage. This is the base fare; we treat it as the source of truth.
  4. Apply the class multiplier for Semi-Luxury (×1.20), Luxury (×1.30), or Super-Luxury (×1.85) — NTC publishes the same values as separate columns in the gazette; we cross-checked that the multiplied-and-rounded fare matches the printed column.
  5. Highway Express AC is handled differently. NTC gazettes a single route-flat fare per origin–destination pair on the E01/E03/E04 services. There is no stage table for highway buses — the calculator surfaces the gazetted route fare directly and does not pro-rate to a custom distance.

Fares are rounded to the nearest rupee — NTC does not gazette fractional values. The per-km figure shown in the result tile is derivedfor the user's reference only; it never feeds back into the fare calculation. A small cross-check function in lib/data/sri-lanka-bus-fare-calculator.ts (lookupNormalStageFareByChart) re-reads the stage table independently of the main calculator — if the two ever disagree on a Normal fare, the chart wins.

Why fares change — and how often

The single biggest driver of an NTC fare revision is the diesel price. Bus fares in Sri Lanka are pegged to a fuel-cost formula: when the Ceylon Petroleum Corporation raises or cuts the diesel price, the NTC recalculates the per-stage table and gazettes a new chart, usually within a few weeks. The Gazette Extraordinary No. 2424/35 of 21 March 2025 that this page is reconciled to actually lowered the minimum fare from Rs 35 to Rs 30 after a fuel-price reduction — fares can move down, not only up. If you want to see how a diesel-price swing feeds through to the cost of driving the same route yourself, the Sri Lanka fuel cost calculator works the trip out litre by litre, which is a useful sanity check against the bus fare for short hops.

Edge cases the calculator handles

  • Boundary distances. Because the stage rule is (min, max], a distance that lands exactly on a stage's upper bound stays in the lower stage. Exactly 2.0 km is still stage 1 (Rs 30); 2.0001 km tips into stage 2 (Rs 35). This matches how a conductor reads the printed chart, where each row owns its upper kilometre.
  • Distances beyond the table. The gazetted Normal table stops at 500 km. Past that, no stage exists, so the calculator caps at the top stage and shows a “beyond gazetted table” notice rather than inventing a number. Inputs over 500 km are rejected outright with a message to split the trip into legs.
  • Highway Express AC with a custom distance. Highway fares are route-flat, so the calculator will not pro-rate them to an arbitrary kilometre figure. Picking the Highway tab and a gazetted route returns the single fare NTC publishes for that pair — the same value whether you board at the first or the last stop.
  • Concessions and transfers. Student season tickets, disabled-passenger concessions, and multi-leg transfers are not a percentage off the stage fare, so they are out of scope for v1. The FAQ below explains how each is actually administered.

One more practical note: fares are gazetted nationally, so a 20 km Normal-bus trip costs the same in Colombo as it does in Jaffna or Galle. What differs between routes is the road distance, not the rate — which is why the route-preset menu and an accurate distance matter more than where in the country you are travelling. If you are planning travel around public holidays, when buses run reduced timetables, the Sri Lanka public holidays calendar is worth a glance before you set out.

Worked examples

Pettah → Maharagama, Normal bus

15 km

  1. Distance: 15.0 km
  2. Stage lookup: 14.0 < 15.0 ≤ 15.5 → stage 10
  3. Normal fare from the gazette table: Rs 105
  4. Multiplier: ×1.00 (Normal class) → Rs 105
  5. Derived per-km rate: 105 / 15 = Rs 7.00/km

Colombo Fort → Kandy, Normal bus

115 km

  1. Distance: 115.0 km (A1 via Kadugannawa, SLTB road length)
  2. Stage lookup: 100 < 115 ≤ 115 → stage 29
  3. Normal fare: Rs 770
  4. Same distance, other classes:
  5. Semi-Lux: round(770 × 1.20) = Rs 924
  6. Luxury: round(770 × 1.30) = Rs 1,001
  7. Super-Lux: round(770 × 1.85) = Rs 1,425

Colombo (Makumbura) → Matara, Highway Express AC

154 km

  1. Route: Makumbura → Matara via E01 (~154 km incl. access)
  2. Class: Highway Express AC (route-flat)
  3. Lookup keyed by route id, not by distance.
  4. Gazetted fare: Rs 700
  5. Note: not pro-rated; the same fare applies for any segment of this route.

Edge case — distance past the gazetted table

550 km

  1. Distance: 550 km (longer than any single NTC stage)
  2. Max accepted distance: 500 km
  3. 550 > 500 → rejected, not capped silently
  4. Result: a clear message to split the trip into legs and add them
  5. Why: no NTC stage extends past the top row, so guessing a fare would mislead

The fourth example shows the calculator refusing to fabricate a fare it cannot back with a gazetted stage. A real 550 km journey — say a Colombo–Jaffna–Point Pedro chain — is two or more bus legs, and each leg is priced on its own. Add the legs to get the true door-to-door cost.

Frequently asked questions

Sources & references

The stage table and highway routes on this page were reconciled to Gazette Extraordinary No. 2424/35 of 21 March 2025 on 2026-05-12. NTC may have published a newer revision since — verify against the chart printed inside the bus, which is always the authoritative legal fare. There are 37 stages covering distances up to 500 km and 6 gazetted highway-express routes encoded here.

Related tools

Rate this tool
Be the first to rate

Comments & feedback

Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.

Spotted a fare that doesn't match your bus's printed chart?

Email me at [email protected] — I'll reconcile against the latest gazette and ship a fix.