WCS   World Central Station · Concourse A --:--:-- · ----

All Platforms · Now Boarding Trains & Trains

A station-board comparison of 20 national and metropolitan passenger rail systems — network length, electrification, high-speed coverage, punctuality (with its weasel-words attached), ridership, and what a 100 km intercity walk-up actually costs in euros.

20 systems · 17 countries · FX 2026-05-22 · Compiled 2026-05
BAHNHOFSUHR · SBB-CFF-FFS
DEPARTURES · HEADLINE FIGURES --:--
Service Time Platform Status
»» Mind the gap between operator-reported and rider-experienced punctuality «« Next:
Systems profiled
Mostly national; a few metro areas (NYC, SF, SG).
Total network km
route-km
Definitions differ per country — see each profile.
High-speed rail
km, ≥250 km/h
China alone is >47k km of full-standard HSR.
Annual journeys
passenger trips/yr
Latest reported year per system; sums across docs.

Vanilla SVG, no D3, no canvas — pure markup you can right-click View Source on. Hover any point or bar for the underlying numbers. Two charts use log scales because the data span 3+ orders of magnitude; we'd rather show small countries than crush them at the origin.

Punctuality vs price
x: €/100 km walk-up · y: weighted-national % where available, harmonized 5-min estimate otherwise

Caveat: y now prefers the journey-weighted national figure (computed per country in the “How we computed X's punctuality” panel) and falls back to the harmonized 5-min estimate when no weighted figure exists. Hover any dot to see which one is shown and the underlying threshold mix. Dots in lighter colour are extrapolated rather than directly published — mostly the harmonized fallbacks.

High-speed rail by country
Route-km of full-standard HSR (≥250 km/h)
Network size vs ticket price
x: total route-km, log scale (211 → 160 000) · y: €/100 km walk-up
Bigger networks aren't necessarily cheaper per km — the floor is roughly set by labour costs and electrification mix. Dots are coloured by region: Europe blue, Asia red, Americas orange, Oceania green.
Top commercial speed by country
Highest scheduled service speed (km/h) — not record runs
Top speed is a brag stat. Switzerland caps Giruno at 200 km/h despite a 250 km/h rating; CR Fuxing crests 350 km/h commercially in China; the US Northeast Corridor sees the Acela hit 257 km/h on a few short bursts.
Rail journeys per capita per year
From expanded_stats.passengers_per_capita_per_year
City-states distort the league table (Singapore ~220 trips/yr per resident because everyone uses the MRT). Among national systems, Japan (~181) and the urban NYC metro (~130) sit on top; Switzerland at ~71/yr is the highest non-city-state, non-megacity national rate; the US national Amtrak-only figure is near zero because most intercity travel there is by car or plane.
Long-haul vs short-haul punctuality
12 countries publish both · others fall back to a single national figure

Long-distance trains almost always have a looser on-time threshold than commuter rail — India quotes Mail/Express within 15 min, Australia's V/Line long-haul within 11 min, while Mumbai Suburban and Sydney Trains use 5 min. So a small headline gap between the two bars below may reflect very different yardsticks. Hover each bar for the country's threshold, period and source link.

The threshold-mixing caveat. A 77 % long-haul figure at a 15-min threshold (India) is not directly worse than a 90 % short-haul figure at a 5-min threshold (Mumbai Suburban). The honest read is: both categories of rider experience matter, and each operator gets to pick its own definition of “on time”. Treat the two bars as separate stories about the same country, not as a single comparable metric.
Punctuality curves — % of trains within N minutes
y: log(100−%) · shape = source · hover-isolate

How to read it. The y-axis is log(100−%) — the "delay rate". That stretches the top of the chart so 95 % to 99 % gets more vertical room than 80 % to 84 %, because at the high end every percentage point matters more (going from 99 to 99.5 is twice as good, not 0.5 % better). Shapes encode source: operator-published, regulator-published, × rider survey, press / journalism, harmonized 5-min estimate (lighter). Hover any country dot or curve and the others fade to 15 % opacity so you can read one at a time. Click a legend chip on the right to pin a country until you click again. Single-threshold countries (CN, SG, JP…) appear as a labelled dot — the curve cannot be drawn from one point. The harmonized 5-min estimate is build.py's best guess of each country at a common 5-min threshold, computed by log-linear extrapolation in the (100−%) space; the badge in the tooltip shows the method and confidence. Newer and usually more rigorous: the weighted on-time column in the comparison table below uses the per-country journey-weighted national figure (each operator at its own published threshold, weighted by ridership) — trust that as the single best number for a country, and use the harmonized 5-min estimate when you specifically need cross-country apples-to-apples at a common threshold.

One personalised profile per system, styled with that operator's brand cues. Each ticket is a real link — punch the stub to board.

One big sortable table — click any column header to sort. Hover a punctuality cell to see the on-time threshold (e.g. within 5 min vs within 15 min — they are not apples to apples). The weighted on-time column is the per-country journey-weighted national figure (the same number computed in each country's “How we computed X's punctuality” panel) — usually the most rigorous single number for that country. The harm. 5 min column is build.py's earlier harmonized estimate at a common 5-min threshold; keep it for cross-country comparison but trust weighted as the country's own honest read.

Filter:
Country Network km Electrified % HSR km Punctuality % Weighted on-time Harm. 5 min % Annual journeys €/100 km walk-up Page
ai gen