Traffic Statistics
Live and recent days. Every figure says how many trains it is based on.
Current punctuality (<3 min)
- Current punctuality (<3 min) Fair89%71 %
4,212 of 5,906 trains have delay data
- Average delay1.1min
Mean over the 4,212 trains with data (early trains included)
- Trains running late11.1%
468 of 4,212 trains with data are 3 min or more late
- Trains5,906
14 Types
- Max delay115 min
Filters
Punctuality league · now
Trains running right now. The tick on the coverage bar marks the 30% threshold.
| Rank# | Country | With data / total | Punctuality |
|---|---|---|---|
| 1 | 🇫🇮 Finland | 51 / 59 | 100 % |
| 2 | 🇯🇵 Japan | 118 / 171 | 100 % |
| 3 | 🇨🇭 Switzerland | 614 / 775 | 99.5 % |
| 4 | 🇸🇪 Sweden | 35 / 35 | 97.1 % |
| 5 | 🇦🇺 Australia | 336 / 422 | 91.7 % |
| 6 | 🇩🇪 Germany | 1,475 / 1,716 | 90.2 % |
| 7 | 🇳🇴 Norway | 20 / 20 | 90 % |
| 8 | 🇫🇷 France | 161 / 168 | 88.2 % |
| 9 | 🇨🇿 Czechia | 496 / 496 | 87.5 % |
| 10 | 🇬🇧 United Kingdom | 77 / 78 | 87 % |
| 11 | 🇵🇱 Poland | 502 / 570 | 81.1 % |
| 12 | 🇪🇸 Spain | 227 / 228 | 74.4 % |
| 13 | 🇺🇸 United States | 100 / 179 | 55 % |
Not enough data · 14 countries outside the ranking
With few trains with data, or under 30% of the total, punctuality describes a minority that need not resemble the rest. They are not ranked, but their trains do appear on the map.
No realtime delay feed (14):
- 🇷🇴 Romania · 226 trains
- 🇧🇪 Belgium · 158 trains
- 🇳🇱 Netherlands · 154 trains
- 🇸🇰 Slovakia · 132 trains
- 🇩🇰 Denmark · 115 trains
- 🇮🇱 Israel · 69 trains
- 🇭🇷 Croatia · 26 trains
- 🇱🇻 Latvia · 25 trains
- 🇸🇮 Slovenia · 23 trains
- 🇵🇹 Portugal · 21 trains
- 🇱🇺 Luxembourg · 20 trains
- 🇪🇪 Estonia · 10 trains
- 🇲🇾 Malaysia · 9 trains
- 🇨🇦 Canada · 1 trains
Punctuality Trend · last 29 days
- Avg Delay
- Punctuality
Delay Distribution · now
Over 4,212 trains with data (not the 5,906 on the map).
- On time 70.4 %
- < 3 min 18.4 %
- 3-5 min 4.5 %
- 5-10 min 3.6 %
- 10-20 min 1.6 %
- > 20 min 1.4 %
Historical Punctuality
05 Sept – 03 Oct 2026 · 15 countries · weighted by trains with data
| # | Country | Punctuality | Average delay |
|---|---|---|---|
| 1 | 🇯🇵 Japan | 95.7 % | 0 min |
| 2 | 🇨🇭 Switzerland | 95.7 % | 0 min |
| 3 | 🇫🇮 Finland | 90.4 % | 1 min |
| 4 | 🇦🇺 Australia | 87.8 % | 1 min |
| 5 | 🇸🇪 Sweden | 86.9 % | 1 min |
| 6 | 🇳🇴 Norway | 82.3 % | 2 min |
| 7 | 🇩🇪 Germany | 79.3 % | 2 min |
| 8 | 🇫🇷 France | 78.6 % | 3 min |
| 9 | 🇺🇸 United States | 75.3 % | 3 min |
| 10 | 🇬🇧 United Kingdom | 74.6 % | 2 min |
| 11 | 🇨🇿 Czechia | 73.6 % | 2 min |
| 12 | 🇮🇪 Ireland | 60.1 % | 4 min |
| 13 | 🇵🇱 Poland | 52.8 % | 5 min |
| 14 | 🇮🇹 Italy | 48.5 % | 4 min |
| 15 | 🇪🇸 Spain | 41.5 % | 9 min |
Punctuality by Type
Click on a bar to filter by that type
Worst Lines
Most Delayed Stations · now
Next stop of the trains running now. Only stations with 10 or more trains with data.
| Station | Trains | Punctuality | Average delay |
|---|---|---|---|
| Hannover Hbf | 13 | 70.0% | 1:48 |
| Madrid-Chamartín-Clara Campoamor | 11 | 81.8% | 55s |
| Nürnberg Hbf | 17 | 82.4% | 53s |
| Frankfurt(Main)Hbf | 10 | 100.0% | -12s |
More data by country
Active Services by Country
| Country | Services | Delayed | Average delay | RT Data |
|---|---|---|---|---|
| 🇩🇪 Germany | 1716 | 145 | 1 min | Yes |
| 🇨🇭 Switzerland | 775 | 3 | 0 min | Yes |
| 🇵🇱 Poland | 570 | 95 | 2 min | Yes |
| 🇨🇿 Czechia | 496 | 62 | 1 min | Yes |
| 🇦🇺 Australia | 422 | 28 | 1 min | Yes |
| 🇪🇸 Spain | 228 | 58 | 2 min | Yes |
| 🇷🇴 Romania | 226 | — | — | No |
| 🇺🇸 United States | 179 | 45 | 8 min | Yes |
| 🇯🇵 Japan | 171 | 0 | 0 min | Yes |
| 🇫🇷 France | 168 | 19 | 2 min | Yes |
| 🇧🇪 Belgium | 158 | — | — | No |
| 🇳🇱 Netherlands | 154 | — | — | No |
| 🇸🇰 Slovakia | 132 | — | — | No |
| 🇩🇰 Denmark | 115 | — | — | No |
| 🇬🇧 United Kingdom | 78 | 10 | -3 min | Yes |
| 🇮🇱 Israel | 69 | — | — | No |
| 🇫🇮 Finland | 59 | 0 | 0 min | Yes |
| 🇸🇪 Sweden | 35 | 1 | 0 min | Yes |
| 🇭🇷 Croatia | 26 | — | — | No |
| 🇱🇻 Latvia | 25 | — | — | No |
| 🇸🇮 Slovenia | 23 | — | — | No |
| 🇵🇹 Portugal | 21 | — | — | No |
| 🇳🇴 Norway | 20 | 2 | 1 min | Yes |
| 🇱🇺 Luxembourg | 20 | — | — | No |
| 🇪🇪 Estonia | 10 | — | — | No |
| 🇲🇾 Malaysia | 9 | — | — | No |
| 🇨🇦 Canada | 1 | — | — | No |
How late are the late trains (only trains with any delay, ≤2h; countries with ≥30% coverage)
| Country | Median | Average | P90 | Maximum | >5min | Total |
|---|---|---|---|---|---|---|
| 🇫🇷 France | 10 min | 16 min | 41 min | 45 min | 11 | 19 |
| 🇺🇸 United States | 8 min | 14 min | 36 min | 55 min | 39 | 63 |
| 🇨🇿 Czechia | 3 min | 4 min | 6 min | 32 min | 15 | 121 |
| 🇪🇸 Spain | 3 min | 5 min | 8 min | 52 min | 28 | 107 |
| 🇵🇱 Poland | 3 min | 8 min | 18 min | 81 min | 48 | 163 |
| 🇸🇪 Sweden | 3 min | 4 min | 8 min | 11 min | 1 | 4 |
| 🇬🇧 United Kingdom | 3 min | 4 min | 10 min | 16 min | 5 | 20 |
| 🇩🇪 Germany | 2 min | 4 min | 8 min | 115 min | 64 | 410 |
| 🇦🇺 Australia | 1 min | 2 min | 4 min | 28 min | 11 | 130 |
| 🇯🇵 Japan | 1 min | 1 min | 2 min | 2 min | 0 | 3 |
| 🇳🇴 Norway | 1 min | 1 min | 3 min | 5 min | 1 | 10 |
| 🇫🇮 Finland | 1 min | 1 min | 1 min | 3 min | 0 | 17 |
| 🇨🇭 Switzerland | 1 min | 1 min | 1 min | 5 min | 0 | 178 |
Data Quality by Country
| Country | Method | Interpolated | Records |
|---|---|---|---|
| 🇦🇺 Australia | gps | No | 422 |
| 🇧🇪 Belgium | gtfs_timed | Yes | 158 |
| 🇨🇦 Canada | gtfs_timed | Yes | 1 |
| 🇨🇭 Switzerland | gtfs_timed | Yes | 775 |
| 🇨🇿 Czechia | gps | No | 496 |
| 🇩🇪 Germany | gtfs_timed | Yes | 1716 |
| 🇩🇰 Denmark | gtfs_timed | Yes | 115 |
| 🇪🇪 Estonia | gtfs_timed | Yes | 10 |
| 🇪🇸 Spain | gps | No | 228 |
| 🇫🇮 Finland | gps | No | 59 |
| 🇫🇷 France | gtfs_timed | Yes | 168 |
| 🇬🇧 United Kingdom | gps | No | 78 |
| 🇭🇷 Croatia | gtfs_timed | Yes | 26 |
| 🇮🇱 Israel | gtfs_timed | Yes | 69 |
| 🇯🇵 Japan | gps | No | 31 |
| 🇯🇵 Japan | api_timed | Yes | 140 |
| 🇱🇺 Luxembourg | gtfs_timed | Yes | 20 |
| 🇱🇻 Latvia | gtfs_timed | Yes | 25 |
| 🇲🇾 Malaysia | gps | No | 9 |
| 🇳🇱 Netherlands | api_timed | Yes | 154 |
| 🇳🇴 Norway | gps | No | 20 |
| 🇵🇱 Poland | gtfs_timed | Yes | 570 |
| 🇵🇹 Portugal | gtfs_timed | Yes | 21 |
| 🇷🇴 Romania | gtfs_timed | Yes | 226 |
| 🇸🇪 Sweden | gps | No | 35 |
| 🇸🇮 Slovenia | gtfs_timed | Yes | 23 |
| 🇸🇰 Slovakia | gtfs_timed | Yes | 132 |
| 🇺🇸 United States | gps | No | 179 |
Historical Data
86 records
| Date | Services | Positions | Punctuality | Average delay |
|---|---|---|---|---|
| Sat 03 Oct | 133,138 | 15,624,559 | 77.5% | 2 min |
| Fri 02 Oct | 144,227 | 17,574,900 | 76.0% | 2 min |
| Thu 01 Oct | 144,989 | 17,279,166 | 75.7% | 2 min |
| Wed 30 Sept | 144,240 | 17,779,085 | 76.6% | 2 min |
| Tue 29 Sept | 145,609 | 17,980,106 | 77.4% | 2 min |
| Mon 28 Sept | 142,038 | 17,400,687 | 78.2% | 2 min |
| Sun 27 Sept | 115,425 | 15,131,744 | 78.0% | 2 min |
| Sat 26 Sept | 130,571 | 16,561,260 | 76.1% | 2 min |
| Fri 25 Sept | 144,009 | 17,489,238 | 75.2% | 2 min |
| Thu 24 Sept | 144,134 | 17,918,510 | 75.6% | 2 min |
| Wed 23 Sept | 144,040 | 17,948,450 | 74.2% | 2 min |
| Tue 22 Sept | 144,740 | 17,989,102 | 74.7% | 2 min |
| Mon 21 Sept | 145,090 | 17,863,895 | 75.1% | 2 min |
| Sun 20 Sept | 109,693 | 13,691,134 | 78.6% | 2 min |
| Sat 19 Sept | 125,510 | 15,200,184 | 74.9% | 2 min |
| Fri 18 Sept | 141,469 | 16,738,790 | 73.2% | 3 min |
| Thu 17 Sept | 139,907 | 16,883,030 | 73.6% | 3 min |
| Wed 16 Sept | 141,460 | 17,337,405 | 72.8% | 3 min |
| Tue 15 Sept | 140,751 | 17,171,707 | 75.6% | 2 min |
| Mon 14 Sept | 139,215 | 16,795,677 | 75.5% | 2 min |
| Sun 13 Sept | 109,711 | 13,669,334 | 78.4% | 2 min |
| Sat 12 Sept | 124,260 | 15,288,363 | 75.7% | 2 min |
| Fri 11 Sept | 139,747 | 16,675,745 | 73.6% | 3 min |
| Thu 10 Sept | 140,128 | 17,013,167 | 74.7% | 2 min |
| Wed 09 Sept | 136,763 | 16,310,106 | 74.0% | 3 min |
| Tue 08 Sept | 139,793 | 17,126,164 | 74.8% | 2 min |
| Mon 07 Sept | 139,640 | 16,806,369 | 75.9% | 2 min |
| Sun 06 Sept | 110,666 | 13,751,856 | 78.7% | 2 min |
| Sat 05 Sept | 124,045 | 15,203,657 | 74.6% | 2 min |
| Fri 04 Sept | 135,016 | 15,668,952 | 73.0% | 3 min |
| Thu 03 Sept | 134,420 | 15,628,797 | 75.4% | 2 min |
| Wed 02 Sept | 134,197 | 15,709,259 | 76.8% | 6 min |
| Tue 01 Sept | 133,900 | 15,576,911 | 75.6% | 7 min |
| Mon 31 Aug | 131,587 | 15,438,180 | 77.5% | 7 min |
| Sun 30 Aug | 104,979 | 12,109,112 | 81.3% | 7 min |
| Sat 29 Aug | 117,958 | 13,692,245 | 81.1% | 6 min |
| Fri 28 Aug | 136,763 | 15,703,244 | 74.0% | 7 min |
| Thu 27 Aug | 136,961 | 15,959,074 | 74.7% | 7 min |
| Wed 26 Aug | 136,903 | 15,932,842 | 75.6% | 7 min |
| Tue 25 Aug | 135,862 | 15,812,163 | 76.7% | 7 min |
| Mon 24 Aug | 135,347 | 15,900,811 | 74.6% | 7 min |
| Sun 23 Aug | 104,342 | 12,449,325 | 78.7% | 6 min |
| Sat 22 Aug | 117,002 | 13,789,668 | 78.2% | 6 min |
| Fri 21 Aug | 135,995 | 15,783,295 | 74.8% | 8 min |
| Thu 20 Aug | 136,326 | 15,914,899 | 74.4% | 7 min |
| Wed 19 Aug | 136,676 | 15,772,911 | 75.6% | 7 min |
| Tue 18 Aug | 136,991 | 15,879,733 | 75.8% | 7 min |
| Mon 17 Aug | 134,846 | 15,853,329 | 74.9% | 7 min |
| Sun 16 Aug | 105,792 | 12,555,009 | 77.3% | 7 min |
| Sat 15 Aug | 117,097 | 13,793,402 | 69.6% | 7 min |
| Fri 14 Aug | 135,148 | 15,747,649 | 72.5% | 8 min |
| Thu 13 Aug | 134,122 | 15,742,163 | 73.7% | 8 min |
| Wed 12 Aug | 136,437 | 16,003,180 | 74.9% | 7 min |
| Tue 11 Aug | 136,640 | 15,966,402 | 76.7% | 6 min |
| Mon 10 Aug | 135,974 | 15,953,168 | 76.2% | 7 min |
| Sun 09 Aug | 104,755 | 12,362,363 | 77.9% | 7 min |
| Sat 08 Aug | 118,492 | 13,712,296 | 72.8% | 7 min |
| Fri 07 Aug | 135,590 | 15,794,038 | 74.5% | 8 min |
| Thu 06 Aug | 135,327 | 15,815,212 | 76.1% | 7 min |
| Wed 05 Aug | 136,805 | 15,990,623 | 76.1% | 7 min |
| Tue 04 Aug | 135,830 | 15,779,108 | 74.9% | 7 min |
| Mon 03 Aug | 135,297 | 15,857,510 | 75.7% | 8 min |
| Sun 02 Aug | 106,232 | 12,621,173 | 78.3% | 6 min |
| Sat 01 Aug | 118,266 | 13,823,903 | 79.9% | 6 min |
| Fri 31 Jul | 134,437 | 15,757,015 | 74.8% | 7 min |
| Thu 30 Jul | 134,492 | 15,802,565 | 74.9% | 8 min |
| Wed 29 Jul | 135,340 | 15,852,459 | 75.3% | 7 min |
| Tue 28 Jul | 135,345 | 15,772,390 | 77.1% | 7 min |
| Mon 27 Jul | 134,532 | 15,841,114 | 78.4% | 7 min |
| Sun 26 Jul | 106,162 | 13,031,939 | 77.8% | 7 min |
| Sat 25 Jul | 117,107 | 15,002,769 | 72.6% | 7 min |
| Fri 24 Jul | 134,905 | 16,626,837 | 76.7% | 7 min |
| Thu 23 Jul | 134,052 | 16,490,821 | 78.3% | 6 min |
| Wed 22 Jul | 136,127 | 16,911,040 | 77.6% | 7 min |
| Tue 21 Jul | 135,445 | 16,774,967 | 76.9% | 7 min |
| Mon 20 Jul | 135,247 | 16,720,497 | 76.9% | 7 min |
| Sun 19 Jul | 99,694 | 12,993,783 | 72.3% | 8 min |
| Sat 18 Jul | 76,245 | 2,695,528 | 69.0% | 8 min |
| Fri 17 Jul | 69,146 | 1,352,311 | 72.3% | 8 min |
| Thu 16 Jul | 89,362 | 1,989,455 | 73.7% | 8 min |
| Wed 15 Jul | 135,209 | 16,702,333 | 71.4% | 8 min |
| Tue 14 Jul | 136,113 | 16,917,784 | 70.2% | 8 min |
| Mon 13 Jul | 134,074 | 16,653,511 | 70.2% | 9 min |
| Sun 12 Jul | 99,542 | 12,897,985 | 71.9% | 8 min |
| Sat 11 Jul | 117,361 | 13,454,987 | 75.7% | 7 min |
| Fri 10 Jul | 19,604 | 834,252 | 72.4% | 10 min |