Map

Traffic Statistics

All countries · Live and recent days. Every figure says how many trains it is based on.

Data: 19 Oct 2026, 06:13 CEST

One coverage rule across the page. A train "has data" when its realtime feed reports a valid delay (between −60 and +120 min). Punctuality is computed over those trains only: trains without data never count as on time. A country enters a ranking when at least 30% of its trains have data and there are 20 or more; a station, with 10 or more. On time = under 3 min late.

Current punctuality (<3 min)

Current punctuality Fair
88%
based on 6,707 of 9,408 trains with RT data
Punctual = less than 3 min late. The 2,701 trains without data do not count.
Average delay
1.3min
mean over the 6,707 trains with data
Includes on-time (0) and early (negative) trains. It is the only definition of “average delay” on this page.
% of trains delayed
11.7%
783 of 6,707 trains with data are 3 min or more late
The complement of punctuality: 88 % + 12 % = 100 % of trains with data.
Average delay of delayed trains
11.0min
mean over the 783 trains 3 min or more late only
Measures severity when there is a delay. Not comparable with the overall “average delay”. Maximum now: 104.0 min.

Punctuality league · now

Trains running right now. Sortable by column. The vertical line on each bar marks the 30 % threshold.

Rank
1🇨🇭 Switzerland 695 / 767 99 %0.1 min
2🇯🇵 Japan 137 / 167 98 %0.2 min
3🇳🇱 Netherlands 375 / 383 97 %0.3 min
4🇫🇷 France 93 % at 0 s: 549 of 591 trains report exactly 0 s: the feed may be padding the delay with 0.591 / 595 93 %0.8 min
5🇫🇮 Finland 119 / 134 92 %0.9 min
6🇧🇬 Bulgaria 75 / 76 92 %0.6 min
7🇸🇪 Sweden 71 / 78 92 %−0.1 min
8🇬🇧 United Kingdom 221 / 224 91 %0.3 min
9🇳🇴 Norway 76 / 76 91 %1.1 min
10🇦🇺 Australia 490 / 616 88 %1.7 min
11🇩🇪 Germany 2,279 / 2,637 88 %1.3 min
12🇵🇱 Poland 693 / 706 85 %2.1 min
13🇪🇸 Spain 425 / 472 78 %2.0 min
14🇺🇸 United States 181 / 213 74 %4.9 min
15🇮🇹 Italy 102 / 117 63 %1.6 min

Not enough data · 15 countries outside the ranking

With fewer than 30 % of trains reporting data, punctuality describes a minority that need not resemble the rest (e.g. one operator only). They are not ranked and their percentage is not shown as if it were the country's. Their 2,147 trains do appear on the map.

CountryTrains with data / totalCoverageReason
🇨🇦 Canada7 / 9 Small sample (7 < 20)
🇮🇪 Ireland13 / 19 Small sample (13 < 20)
🇨🇿 Czechia157 / 686 Only 22.8% of trains with data (minimum 30%)

No realtime delay feed (12):

Trend · 30 days

Daily punctuality, weighted by services (source: daily_stats).

70 %75 %80 %85 %20/0927/0904/1011/1017/1028-day mean: 76.2 %

2,710,075 services with data over 28 days. 14–18 countries per day.

Delay Distribution · now

Over the 6,707 trains with RT data (not the 9,408 on the map).

  • Early or on time 70.2 %
  • < 3 min 18.1 %
  • 3-5 min 4.2 %
  • 5-10 min 3.7 %
  • 10-20 min 2.3 %
  • > 20 min 1.5 %
Punctual (< 3 min) 3–10 min 10-20 min > 20 min

Historical Punctuality

Weighted by services: a day with 4,000 trains weighs more than one with 400.

RankCountryServicesDays with dataPunctualityAverage delay
1🇯🇵 Japan 83,34328 / 28 94.6 %0.6 min
2🇨🇭 Switzerland 268,90528 / 28 94.0 %0.5 min
3🇫🇮 Finland 27,45326 / 28 88.0 %1.1 min
4🇦🇺 Australia 172,79528 / 28 85.6 %1.6 min
5🇸🇪 Sweden 19,99028 / 28 85.4 %1.1 min
6🇳🇴 Norway 16,50928 / 28 82.7 %1.9 min
7🇫🇷 France 160,17328 / 28 78.9 %3.2 min
8🇩🇪 Germany 1,091,11726 / 28 75.8 %2.6 min
9🇬🇧 United Kingdom 615,68928 / 28 74.0 %2.1 min
10🇨🇿 Czechia 133,11016 / 28 73.7 %2.2 min
11🇺🇸 United States 77,25228 / 28 70.6 %3.2 min
12🇵🇱 Poland 180,19828 / 28 69.6 %3.4 min
13🇮🇪 Ireland 22,55428 / 28 60.1 %3.7 min
14🇮🇹 Italy 21,54128 / 28 51.2 %5.1 min
15🇪🇸 Spain 143,47928 / 28 42.2 %8.6 min

Period 20 Sept – 17 Oct. 28 days with data in the system. ⚑ = the country has data on fewer than 50 % of those days (14); none in this period. Average delay = mean over all trains with data, weighted by services.

Stations · now

Next stop of running trains, from worst to best punctuality. Only stations with 10 or more trains with data; n = trains with data.

StationnPunctualityAverage delay
Frankfurt(Main)Hbf12 / 13 58 %4.0 min
Madrid-Chamartín-Clara Campoamor20 60 %2.5 min
Hauptbahnhof11 73 %3.2 min
València-Estació del Nord11 82 %15.4 min
Nürnberg Hbf13 85 %0.6 min
Penn Station12 100 %−0.7 min

Only 6 of the 7,014 stations with trains approaching meet the minimum right now. With n = 10, a single train moves punctuality by 10 points: that is why n is always shown.

Punctuality by hour

Last 7 days, each country's local time (source: line_delay_hourly). The units are position readings, not trains: a train counts once per reading.

60 %70 %80 %90 %0h6h12h18h23h
70–90 % fair < 70 % poor Axis from 60 to 90 %

Filters

Punctuality by Type

Click on a bar to filter by that type

1 / 2

Worst Lines

  1. 1 Pacific SurflinerUS Regional 14.3 % 30.2 min
  2. 2 VIA RailCA ic 28.6 % 42.9 min
  3. 3 BDVL-5186AU Regional 50.0 % 12.7 min
  4. 4 TLKPL ic 54.5 % 11.2 min
  5. 5 S28DE sbahn 66.7 % 8.9 min

More data by country

Active Services by Country

CountryServicesDelayedAverage delayRT Data
🇩🇪 Germany2,6372811.3 minYes
🇨🇭 Switzerland76780.1 minYes
🇵🇱 Poland7061012.1 minYes
🇨🇿 Czechia686——No
🇦🇺 Australia616591.7 minYes
🇫🇷 France595420.8 minYes
🇪🇸 Spain472942.0 minYes
🇳🇱 Netherlands383120.3 minYes
🇧🇪 Belgium283——No
🇩🇰 Denmark249——No
🇷🇴 Romania240——No
🇬🇧 United Kingdom224200.3 minYes
🇺🇸 United States213474.9 minYes
🇲🇾 Malaysia181——No
🇸🇰 Slovakia173——No
🇯🇵 Japan16730.2 minYes
🇫🇮 Finland13490.9 minYes
🇮🇹 Italy117381.6 minYes
🇸🇪 Sweden786−0.1 minYes
🇧🇬 Bulgaria7660.6 minYes
🇳🇴 Norway7671.1 minYes
🇭🇷 Croatia76——No
🇮🇱 Israel67——No
🇸🇮 Slovenia64——No
🇱🇺 Luxembourg40——No
🇱🇻 Latvia34——No
🇮🇪 Ireland19——No
🇵🇹 Portugal13——No
🇪🇪 Estonia13——No
🇨🇦 Canada9——No

How late are the late trains (only trains with any delay, ≤2h; countries with ≥30% coverage)

CountryMedianAverageP90Maximum>5minTotal
🇫🇷 France10.0 min11.6 min24.5 min60.0 min2442
🇵🇱 Poland3.0 min8.9 min20.9 min96.0 min60172
🇮🇹 Italy3.0 min3.9 min8.0 min20.0 min1572
🇪🇸 Spain3.0 min5.5 min10.0 min96.0 min43167
🇺🇸 United States2.2 min10.5 min37.8 min59.0 min33103
🇬🇧 United Kingdom2.0 min3.0 min6.0 min25.0 min862
🇧🇬 Bulgaria2.0 min2.4 min4.0 min11.0 min117
🇩🇪 Germany2.0 min5.1 min12.0 min66.0 min148637
🇯🇵 Japan2.0 min2.1 min3.6 min7.0 min115
🇸🇪 Sweden1.7 min3.0 min6.7 min12.0 min315
🇳🇱 Netherlands1.6 min2.7 min7.2 min14.4 min744
🇦🇺 Australia1.4 min4.1 min8.8 min72.4 min34215
🇳🇴 Norway1.1 min1.8 min3.2 min12.4 min348
🇫🇮 Finland0.6 min2.3 min4.1 min19.9 min348
🇨🇭 Switzerland0.5 min0.9 min1.7 min21.0 min5220

Data Quality by Country

CountryMethodInterpolatedRecords
🇦🇺 Australiagtfs_timedYes57
🇦🇺 AustraliagpsNo559
🇧🇪 Belgiumgtfs_timedYes283
🇧🇬 Bulgariagtfs_timedYes76
🇨🇦 Canadagtfs_timedYes9
🇨🇭 Switzerlandgtfs_timedYes767
🇨🇿 Czechiagtfs_timedYes528
🇨🇿 CzechiagpsNo158
🇩🇪 Germanygtfs_timedYes2,637
🇩🇰 Denmarkgtfs_timedYes249
🇪🇪 Estoniagtfs_timedYes13
🇪🇸 SpaingpsNo472
🇫🇮 FinlandgpsNo134
🇫🇷 Francegtfs_timedYes595
🇬🇧 United KingdomgpsNo224
🇭🇷 Croatiagtfs_timedYes76
🇮🇪 IrelandgpsNo19
🇮🇱 Israelgtfs_timedYes67
🇮🇹 Italygtfs_timedYes117
🇯🇵 JapangpsNo30
🇯🇵 Japanapi_timedYes137
🇱🇺 Luxembourggtfs_timedYes40
🇱🇻 Latviagtfs_timedYes34
🇲🇾 Malaysiagtfs_timedYes174
🇲🇾 MalaysiagpsNo7
🇳🇱 Netherlandsapi_timedYes203
🇳🇱 NetherlandsgpsNo180
🇳🇴 NorwaygpsNo76
🇵🇱 Polandgtfs_timedYes706
🇵🇹 Portugalgtfs_timedYes13
🇷🇴 Romaniagtfs_timedYes240
🇸🇪 SwedengpsNo78
🇸🇮 Sloveniagtfs_timedYes64
🇸🇰 Slovakiagtfs_timedYes173
🇺🇸 United StatesgpsNo213

Historical Data

88 records
DateServicesPositionsPunctuality Average delay
Sat 17 Oct134,93914,302,601 79.1 % 2.3 min
Fri 16 Oct158,86817,844,016 74.6 % 2.8 min
Thu 15 Oct157,94617,714,724 74.2 % 2.8 min
Wed 14 Oct157,67017,111,478 74.4 % 2.8 min
Tue 13 Oct157,89117,638,453 73.9 % 2.9 min
Mon 12 Oct155,46617,259,513 75.3 % 2.8 min
Sun 11 Oct118,70612,829,739 82.0 % 1.9 min
Sat 10 Oct133,83714,131,381 78.9 % 2.4 min
Fri 09 Oct159,00317,565,641 74.7 % 2.9 min
Thu 08 Oct158,39017,315,208 74.2 % 2.9 min
Wed 07 Oct158,73917,639,653 75.9 % 2.8 min
Tue 06 Oct158,67017,556,347 76.9 % 2.5 min
Mon 05 Oct153,99916,056,796 77.6 % 2.4 min
Sun 04 Oct115,98512,375,758 81.8 % 1.9 min
Sat 03 Oct127,76415,375,336 77.1 % 2.2 min
Fri 02 Oct136,71717,124,526 75.6 % 2.4 min
Thu 01 Oct137,47416,838,843 75.5 % 2.4 min
Wed 30 Sept136,73917,336,837 76.5 % 2.4 min
Tue 29 Sept137,88317,545,397 77.1 % 2.3 min
Mon 28 Sept134,95117,015,261 77.9 % 2.2 min
Sun 27 Sept111,43514,957,353 78.0 % 2.2 min
Sat 26 Sept124,90516,279,191 75.8 % 2.2 min
Fri 25 Sept136,82917,073,752 74.9 % 2.5 min
Thu 24 Sept136,76617,500,820 75.3 % 2.4 min
Wed 23 Sept136,83617,537,411 74.0 % 2.6 min
Tue 22 Sept137,14617,566,133 74.4 % 2.5 min
Mon 21 Sept137,92817,480,242 74.8 % 2.5 min
Sun 20 Sept105,69313,514,794 78.6 % 2.1 min
Sat 19 Sept119,87214,927,587 74.6 % 2.7 min
Fri 18 Sept134,24116,324,696 72.7 % 2.7 min
Thu 17 Sept132,51816,465,081 73.2 % 2.8 min
Wed 16 Sept133,75216,902,488 72.2 % 2.9 min
Tue 15 Sept133,08116,737,777 75.4 % 2.4 min
Mon 14 Sept132,29716,422,246 75.3 % 2.5 min
Sun 13 Sept105,76013,505,724 78.5 % 2.1 min
Sat 12 Sept118,74315,021,367 75.1 % 2.5 min
Fri 11 Sept132,30716,251,637 73.2 % 2.8 min
Thu 10 Sept132,61716,585,010 74.4 % 2.5 min
Wed 09 Sept129,21515,886,085 73.6 % 2.8 min
Tue 08 Sept132,25216,704,662 74.5 % 2.5 min
Mon 07 Sept132,52316,420,645 75.7 % 2.4 min
Sun 06 Sept106,40513,572,621 78.9 % 2.1 min
Sat 05 Sept118,21014,926,226 74.2 % 2.8 min
Fri 04 Sept127,62515,244,162 72.7 % 2.9 min
Thu 03 Sept126,87315,202,375 75.1 % 2.5 min
Wed 02 Sept127,21915,278,935 76.8 % 5.8 min
Tue 01 Sept126,81315,165,243 75.5 % 6.7 min
Mon 31 Aug126,26615,158,283 77.6 % 6.6 min
Sun 30 Aug102,03811,976,226 81.2 % 6.4 min
Sat 29 Aug112,77413,424,281 81.4 % 4.9 min
Fri 28 Aug130,13415,291,735 74.2 % 6.3 min
Thu 27 Aug129,98215,529,526 74.8 % 6.4 min
Wed 26 Aug130,27715,512,515 75.7 % 5.9 min
Tue 25 Aug135,86215,812,163 76.7 % 6.5 min
Mon 24 Aug135,34715,900,811 74.6 % 7.2 min
Sun 23 Aug104,34212,449,325 78.7 % 6.3 min
Sat 22 Aug117,00213,789,668 78.2 % 6.2 min
Fri 21 Aug135,99515,783,295 74.8 % 7.5 min
Thu 20 Aug136,32615,914,899 74.4 % 7.1 min
Wed 19 Aug136,67615,772,911 75.6 % 6.7 min
Tue 18 Aug136,99115,879,733 75.8 % 6.9 min
Mon 17 Aug134,84615,853,329 74.9 % 7.1 min
Sun 16 Aug105,79212,555,009 77.3 % 7.1 min
Sat 15 Aug117,09713,793,402 69.6 % 7.5 min
Fri 14 Aug135,14815,747,649 72.5 % 8.2 min
Thu 13 Aug134,12215,742,163 73.7 % 8.0 min
Wed 12 Aug136,43716,003,180 74.9 % 6.9 min
Tue 11 Aug136,64015,966,402 76.7 % 6.4 min
Mon 10 Aug135,97415,953,168 76.2 % 6.8 min
Sun 09 Aug104,75512,362,363 77.9 % 6.6 min
Sat 08 Aug118,49213,712,296 72.8 % 7.1 min
Fri 07 Aug135,59015,794,038 74.5 % 7.5 min
Thu 06 Aug135,32715,815,212 76.1 % 6.7 min
Wed 05 Aug136,80515,990,623 76.1 % 6.7 min
Tue 04 Aug135,83015,779,108 74.9 % 7.3 min
Mon 03 Aug135,29715,857,510 75.7 % 7.6 min
Sun 02 Aug106,23212,621,173 78.3 % 6.3 min
Sat 01 Aug118,26613,823,903 79.9 % 5.9 min
Fri 31 Jul134,43715,757,015 74.8 % 7.2 min
Thu 30 Jul134,49215,802,565 74.9 % 7.7 min
Wed 29 Jul135,34015,852,459 75.3 % 7.3 min
Tue 28 Jul135,34515,772,390 77.1 % 6.6 min
Mon 27 Jul134,53215,841,114 78.4 % 6.7 min
Sun 26 Jul106,16213,031,939 77.8 % 6.9 min
Sat 25 Jul117,10715,002,769 72.6 % 7.0 min
Fri 24 Jul134,90516,626,837 76.7 % 6.7 min
Thu 23 Jul134,05216,490,821 78.3 % 6.4 min
Wed 22 Jul136,12716,911,040 77.6 % 6.7 min

Sources: current_positions, daily_stats and line_delay_hourly · 19 Oct 2026, 06:13 CEST