TrainRouter

Data story

Train vs plane in Europe

Door-to-door times and CO₂e on 105 busy city pairs — real sampled rail times against a transparent flight model, no cherry-picking.

Open the interactive railway map →

Airport time is the flight's hidden fare: getting out to the airport, security, boarding, and getting back into town at the other end add close to three hours that never appear on the ticket. Count them, and on 26 of these 105 routes the train is simply faster — before the CO₂e math, which the train wins everywhere.

Pairs compared
105
Train faster on
26 (25%)
By over an hour
11
CO₂e gap
≥ 3.2× (conservative)

The train wins one city pair in four

On 26 of the 105 pairs compared, the typical train beats a typical flight door to door — 11 of them by more than an hour. The biggest gap is Paris–Rennes: the train saves about 2h on the day.

Under 3h 45m of rail, the plane never wins

Every compared pair the train covers in under 3h 45m goes to rail once airport time is counted. The advantage stretches as far as Marseille–Paris — 663 km apart, 3h 52m by train, and still ~10 min quicker than flying door to door.

The CO₂e gap never closes

Flying emits ≈3.2× the train's CO₂e on every pair — and that is on deliberately conservative official factors (DESNZ 2025, UK part-diesel rail mix). On typical electric intercity rail the EEA's figures put the real gap at 10–30×. London–Paris alone: ~15 kg by train against ~47 kg by plane, per passenger.

Where the train saves the most time

time saved by taking the train, door to doorvs flying1h2h1Paris–Rennes1h 582Strasbourg–Paris1h 543Paris–Lyon1h 394Bordeaux–Paris1h 365London–Brussels1h 356Rome–Bologna1h 277Nantes–Paris1h 168Madrid–Valencia1h 159London–Paris1h 1410Avignon–Paris1h 0711Seville–Madrid1h12Berlin–Nuremberg54m13London–Newcastle44m14Madrid–Alicante44m15Florence–Naples43m16Madrid–Málaga40m17Rome–Milan31m18Madrid–Barcelona26m19Basel–Paris21m20Munich–Leipzig19m21Santiago de Compostela–Madrid17m22Amsterdam–Paris14m23Marseille–Paris11m24Frankfurt–Munich9m25Paris–Montpellier7m26London–Rotterdam5m

Door-to-door time saved by taking the train instead of a typical flight — all 26 pairs where the train wins, biggest saving first.

How we compute it

The train side is real data: typical (median) station-to-station times sampled from public European schedule feeds — the same figures as our city-to-city guides — plus 20 min of station overhead. The plane side is openly a model, not airline schedules: flight time ≈ 40 min taxi/climb/descent + straight-line distance at 750 km/h cruise, plus 2h 50m door-to-door overhead (25 min city→airport, 90 min check-in/security/boarding, 30 min deplaning, 25 min airport→city). Where no direct flight exists on a pair, the estimate is what a direct one would take — generous to the plane. Pairs under 300 km apart are not compared at all.

Emissions use the UK government's DESNZ/DEFRA 2025 conversion factors: 125.76 g CO₂e per passenger-km for short-haul flying (including radiative forcing, distance +8% for routing) against 35.46 g for rail (distance ×1.2 for the winding track). That rail figure is a deliberate ceiling — it reflects the UK's part-diesel mix; the EEA puts electric intercity rail at 12–33 g and Eurostar reports ~4 g, so the real gap on most of these corridors is 10–30×, not 3.2×. Rail times come from the same open data as the rest of the site — the TrainRouter Atlas (CC BY 4.0, archived at DOI 10.5281/zenodo.21322030) — free to check or reuse.

All 105 pairs, ranked by the train's advantage

#City pairTrain door-to-doorFlight door-to-door (est.)Faster door-to-doorCO₂e saved (kg)
1Paris – Rennes309 km apart · direct trains1h 55m3h 55mTrain +2h29
2Strasbourg – Paris396 km apart · direct trains2h 10m4hTrain +1h 55m37
3Paris – Lyon395 km apart · direct trains2h 25m4hTrain +1h 40m37
4Bordeaux – Paris502 km apart · direct trains2h 35m4h 10mTrain +1h 35m47
5London – Brussels322 km apart · direct trains2h 20m3h 55mTrain +1h 35m30
6Rome – Bologna305 km apart · direct trains2h 25m3h 55mTrain +1h 25m28
7Nantes – Paris343 km apart · direct trains2h 40m3h 55mTrain +1h 15m32
8Madrid – Valencia301 km apart · direct trains2h 40m3h 55mTrain +1h 15m28
9London – Paris343 km apart · direct trains2h 45m3h 55mTrain +1h 15m32
10Avignon – Paris580 km apart · direct trains3h 10m4h 15mTrain +1h 05m54
11Seville – Madrid390 km apart · direct trains3h4hTrain +1h36
12Berlin – Nuremberg377 km apart · direct trains3h 05m4hTrain +55 min35
13London – Newcastle395 km apart · direct trains3h 20m4hTrain +45 min37
14Madrid – Alicante359 km apart3h 15m4hTrain +45 min34
15Florence – Naples410 km apart · direct trains3h 20m4h 05mTrain +45 min38
16Madrid – Málaga416 km apart · direct trains3h 25m4h 05mTrain +40 min39
17Rome – Milan479 km apart · direct trains3h 35m4h 10mTrain +30 min45
18Madrid – Barcelona502 km apart · direct trains3h 45m4h 10mTrain +25 min47
19Basel – Paris415 km apart3h 40m4h 05mTrain +20 min39
20Munich – Leipzig362 km apart · direct trains3h 40m4hTrain +20 min34
21Santiago de Compostela – Madrid487 km apart3h 50m4h 10mTrain +15 min45
22Amsterdam – Paris429 km apart · direct trains3h 50m4h 05mTrain +15 min40
23Marseille – Paris663 km apart4h 10m4h 25mTrain +10 min62
24Frankfurt – Munich304 km apart · direct trains3h 45m3h 55mTrain +10 min28
25Paris – Montpellier599 km apart · direct trains4h 10m4h 20mTrain +5 min56
26London – Rotterdam320 km apart · direct trains3h 50m3h 55mTrain +5 min30
27Geneva – Paris411 km apart · direct trains4h 05m4h 05mFlight +0 min38
28Paris – Frankfurt476 km apart · direct trains4h 10m4h 10mFlight +5 min44
29Grenoble – Paris483 km apart · direct trains4h 20m4h 10mFlight +10 min45
30Venice – Rome394 km apart · direct trains4h 15m4hFlight +15 min37
31Munich – Berlin504 km apart · direct trains4h 25m4h 10mFlight +15 min47
32Hamburg – Cologne357 km apart · direct trains4h 25m4hFlight +25 min33
33London – Edinburgh531 km apart · direct trains4h 50m4h 10mFlight +40 min50
34Rome – Turin525 km apart · direct trains4h 50m4h 10mFlight +40 min49
35London – Glasgow553 km apart · direct trains4h 55m4h 15mFlight +40 min52
36Paris – Cologne402 km apart · direct trains4h 40m4hFlight +40 min37
37Malmö – Stockholm512 km apart · direct trains4h 55m4h 10mFlight +40 min48
38Naples – Milan659 km apart · direct trains5h 05m4h 25mFlight +40 min62
39Gothenburg – Stockholm397 km apart · direct trains4h 45m4hFlight +45 min37
40Frankfurt – Zurich304 km apart · direct trains4h 40m3h 55mFlight +45 min28
41Warsaw – Wrocław301 km apart · direct trains4h 40m3h 55mFlight +45 min28
42Brussels – Frankfurt315 km apart · direct trains4h 45m3h 55mFlight +50 min29
43Edinburgh – Birmingham395 km apart · direct trains4h 55m4hFlight +50 min37
44Munich – Vienna357 km apart · direct trains4h 50m4hFlight +50 min33
45Bari – Rome374 km apart · direct trains5h4hFlight +1h35
46Hamburg – Frankfurt394 km apart · direct trains5h4hFlight +1h37
47Vienna – Innsbruck387 km apart · direct trains5h 05m4hFlight +1h36
48Berlin – Cologne475 km apart · direct trains5h 10m4h 10mFlight +1h 05m44
49Paris – Toulouse590 km apart · direct trains5h 20m4h 15mFlight +1h 05m55
50Valencia – Barcelona301 km apart5h3h 55mFlight +1h 05m28
51Seville – Valencia540 km apart · direct trains5h 20m4h 15mFlight +1h 10m50
52Amsterdam – Frankfurt364 km apart · direct trains5h 10m4hFlight +1h 10m34
53Amsterdam – London357 km apart · direct trains5h 10m4hFlight +1h 10m33
54Perpignan – Paris688 km apart · direct trains5h 40m4h 25mFlight +1h 15m64
55Vigo – Madrid466 km apart5h 20m4h 05mFlight +1h 15m43
56Madrid – Granada359 km apart · direct trains5h 15m4hFlight +1h 15m34
57Lyon – Bordeaux436 km apart5h 25m4h 05mFlight +1h 20m41
58Berlin – Frankfurt423 km apart · direct trains5h 25m4h 05mFlight +1h 25m39
59Zurich – Paris489 km apart5h 30m4h 10mFlight +1h 25m46
60Zagreb – Budapest303 km apart5h 20m3h 55mFlight +1h 30m28
61Copenhagen – Stockholm522 km apart5h 45m4h 10mFlight +1h 35m49
62Thessaloniki – Athens302 km apart · direct trains5h 30m3h 55mFlight +1h 35m28
63Amsterdam – Hamburg366 km apart5h 35m4hFlight +1h 35m34
64Munich – Prague301 km apart · direct trains5h 35m3h 55mFlight +1h 40m28
65Paris – Munich683 km apart6h 10m4h 25mFlight +1h 45m64
66Bilbao – Madrid323 km apart5h 45m3h 55mFlight +1h 50m30
67Paris – Nice688 km apart · direct trains6h 20m4h 25mFlight +1h 55m64
68Munich – Hamburg611 km apart · direct trains6h 20m4h 20mFlight +2h 05m57
69Oslo – Stockholm416 km apart · direct trains6h 10m4h 05mFlight +2h 05m39
70Seville – Barcelona826 km apart · direct trains6h 45m4h 35mFlight +2h 10m77
71Bratislava – Košice312 km apart · direct trains6h 10m3h 55mFlight +2h 15m29
72Verona – Munich305 km apart · direct trains6h 35m3h 55mFlight +2h 40m28
73Berlin – Warsaw519 km apart6h 55m4h 10mFlight +2h 45m48
74Amsterdam – Berlin574 km apart · direct trains7h4h 15mFlight +2h 45m54
75Barcelona – Lyon534 km apart · direct trains7h4h 15mFlight +2h 45m50
76Belgrade – Budapest318 km apart6h 55m3h 55mFlight +3h30
77Barcelona – Marseille341 km apart7h3h 55mFlight +3h 05m32
78Oslo – Trondheim393 km apart · direct trains7h 05m4hFlight +3h 05m37
79Kraków – Prague393 km apart · direct trains7h 05m4hFlight +3h 05m37
80Bergen – Oslo305 km apart · direct trains7h 10m3h 55mFlight +3h 15m28
81Budapest – Prague445 km apart7h 50m4h 05mFlight +3h 40m41
82Paris – Turin585 km apart8h4h 15mFlight +3h 45m55
83Barcelona – Paris834 km apart · direct trains8h 30m4h 35mFlight +3h 55m78
84Berlin – Brussels648 km apart8h 15m4h 20mFlight +3h 55m60
85Amsterdam – Munich668 km apart · direct trains8h 35m4h 25mFlight +4h 10m62
86Venice – Munich306 km apart · direct trains8h 05m3h 55mFlight +4h 10m29
87Madrid – Lisbon504 km apart8h 25m4h 10mFlight +4h 15m47
88Vienna – Warsaw556 km apart8h 35m4h 15mFlight +4h 20m52
89Prague – Warsaw516 km apart8h 35m4h 10mFlight +4h 25m48
90Venice – Vienna435 km apart · direct trains8h 30m4h 05mFlight +4h 25m41
91Copenhagen – Oslo484 km apart8h 35m4h 10mFlight +4h 25m45
92Copenhagen – Berlin354 km apart8h 30m4hFlight +4h 35m33
93Vienna – Zurich592 km apart8h 55m4h 15mFlight +4h 35m55
94Milan – Paris640 km apart9h4h 20mFlight +4h 40m60
95Berlin – Zurich668 km apart · direct trains9h 05m4h 25mFlight +4h 45m62
96Vienna – Berlin527 km apart9h 15m4h 10mFlight +5h 05m49
97Berlin – Paris874 km apart9h 45m4h 40mFlight +5h 05m82
98Florence – Paris887 km apart10h 35m4h 40mFlight +5h 55m83
99Venice – Paris844 km apart11h 25m4h 40mFlight +6h 50m79
100Rome – Paris1,108 km apart11h 50m5hFlight +6h 55m103
101Paris – Vienna1,034 km apart12h 10m4h 55mFlight +7h 20m96
102Madrid – Paris1,055 km apart12h 15m4h 55mFlight +7h 25m98
103Rovaniemi – Helsinki705 km apart11h 55m4h 25mFlight +7h 30m66
104Budapest – Bucharest638 km apart15h 35m4h 20mFlight +11h 15m60
105Sofia – Belgrade327 km apart17h 35m3h 55mFlight +13h 35m30

Each pair links to its full journey guide — typical times, direct-train availability and operators. CO₂e saved is per passenger, on the conservative factors above.