Traffic Statistics
Live and recent days. Every figure says how many trains it is based on.
Current punctuality (<3 min)
- Current punctuality (<3 min) Good91%61 %
2,925 of 4,833 trains have delay data
- Average delay1min
Mean over the 2,925 trains with data (early trains included)
- Trains running late9.5%
277 of 2,925 trains with data are 3 min or more late
- Trains4,833
13 Types
- Max delay58 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 | 41 / 46 | 100 % |
| 2 | 🇯🇵 Japan | 118 / 170 | 100 % |
| 3 | 🇨🇭 Switzerland | 542 / 656 | 99.8 % |
| 4 | 🇸🇪 Sweden | 32 / 35 | 96.9 % |
| 5 | 🇦🇺 Australia | 335 / 430 | 91.9 % |
| 6 | 🇩🇪 Germany | 1,071 / 1,247 | 90.9 % |
| 7 | 🇬🇧 United Kingdom | 31 / 33 | 90.3 % |
| 8 | 🇫🇷 France | 72 / 74 | 88.9 % |
| 9 | 🇨🇿 Czechia | 383 / 383 | 88.3 % |
| 10 | 🇪🇸 Spain | 155 / 159 | 77.4 % |
| 11 | 🇺🇸 United States | 129 / 298 | 53.5 % |
Not enough data · 16 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.
| Country | With data / total | Coverage |
|---|---|---|
| 🇳🇱 Netherlands | 1 / 50 | 2 % |
| 🇳🇴 Norway | 15 / 15 | 100 % |
No realtime delay feed (14):
- 🇵🇱 Poland · 536 trains
- 🇷🇴 Romania · 215 trains
- 🇸🇰 Slovakia · 117 trains
- 🇧🇪 Belgium · 103 trains
- 🇩🇰 Denmark · 80 trains
- 🇮🇱 Israel · 69 trains
- 🇱🇻 Latvia · 25 trains
- 🇱🇺 Luxembourg · 24 trains
- 🇭🇷 Croatia · 23 trains
- 🇸🇮 Slovenia · 20 trains
- 🇵🇹 Portugal · 8 trains
- 🇲🇾 Malaysia · 8 trains
- 🇪🇪 Estonia · 8 trains
- 🇨🇦 Canada · 1 trains
Punctuality Trend · last 29 days
- Avg Delay
- Punctuality
Delay Distribution · now
Over 2,925 trains with data (not the 4,833 on the map).
- On time 70.2 %
- < 3 min 20.4 %
- 3-5 min 4 %
- 5-10 min 2.8 %
- 10-20 min 1.2 %
- > 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 |
|---|---|---|---|
| Madrid-Chamartín-Clara Campoamor | 12 | 66.7% | 2:20 |
| Penn Station | 12 | 75.0% | 1:31 |
| Mannheim Hbf | 10 | 80.0% | 48s |
| Madrid-Atocha Cercanías | 10 | 90.0% | -18s |
More data by country
Active Services by Country
| Country | Services | Delayed | Average delay | RT Data |
|---|---|---|---|---|
| 🇩🇪 Germany | 1247 | 97 | 1 min | Yes |
| 🇨🇭 Switzerland | 656 | 1 | 0 min | Yes |
| 🇵🇱 Poland | 536 | — | — | No |
| 🇦🇺 Australia | 430 | 27 | 1 min | Yes |
| 🇨🇿 Czechia | 383 | 45 | 1 min | Yes |
| 🇺🇸 United States | 298 | 60 | 8 min | Yes |
| 🇷🇴 Romania | 215 | — | — | No |
| 🇯🇵 Japan | 170 | 0 | 0 min | Yes |
| 🇪🇸 Spain | 159 | 35 | 2 min | Yes |
| 🇸🇰 Slovakia | 117 | — | — | No |
| 🇧🇪 Belgium | 103 | — | — | No |
| 🇩🇰 Denmark | 80 | — | — | No |
| 🇫🇷 France | 74 | 8 | 1 min | Yes |
| 🇮🇱 Israel | 69 | — | — | No |
| 🇳🇱 Netherlands | 50 | — | — | No |
| 🇫🇮 Finland | 46 | 0 | 0 min | Yes |
| 🇸🇪 Sweden | 35 | 1 | 0 min | Yes |
| 🇬🇧 United Kingdom | 33 | 3 | -2 min | Yes |
| 🇱🇻 Latvia | 25 | — | — | No |
| 🇱🇺 Luxembourg | 24 | — | — | No |
| 🇭🇷 Croatia | 23 | — | — | No |
| 🇸🇮 Slovenia | 20 | — | — | No |
| 🇳🇴 Norway | 15 | — | — | No |
| 🇵🇹 Portugal | 8 | — | — | No |
| 🇲🇾 Malaysia | 8 | — | — | No |
| 🇪🇪 Estonia | 8 | — | — | 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 |
|---|---|---|---|---|---|---|
| 🇺🇸 United States | 7 min | 15 min | 42 min | 58 min | 51 | 86 |
| 🇫🇷 France | 5 min | 11 min | 21 min | 45 min | 3 | 8 |
| 🇪🇸 Spain | 3 min | 4 min | 8 min | 30 min | 11 | 69 |
| 🇯🇵 Japan | 2 min | 2 min | 2 min | 2 min | 0 | 5 |
| 🇩🇪 Germany | 2 min | 4 min | 7 min | 55 min | 40 | 272 |
| 🇨🇿 Czechia | 2 min | 4 min | 7 min | 40 min | 13 | 96 |
| 🇬🇧 United Kingdom | 2 min | 4 min | 9 min | 17 min | 1 | 7 |
| 🇦🇺 Australia | 2 min | 3 min | 6 min | 20 min | 14 | 134 |
| 🇸🇪 Sweden | 1 min | 3 min | 7 min | 10 min | 1 | 4 |
| 🇫🇮 Finland | 0 min | 1 min | 2 min | 2 min | 0 | 12 |
| 🇨🇭 Switzerland | 0 min | 1 min | 1 min | 6 min | 1 | 174 |
Data Quality by Country
| Country | Method | Interpolated | Records |
|---|---|---|---|
| 🇦🇺 Australia | gps | No | 430 |
| 🇧🇪 Belgium | gtfs_timed | Yes | 103 |
| 🇨🇦 Canada | gtfs_timed | Yes | 1 |
| 🇨🇭 Switzerland | gtfs_timed | Yes | 656 |
| 🇨🇿 Czechia | gps | No | 383 |
| 🇩🇪 Germany | gtfs_timed | Yes | 1247 |
| 🇩🇰 Denmark | gtfs_timed | Yes | 80 |
| 🇪🇪 Estonia | gtfs_timed | Yes | 8 |
| 🇪🇸 Spain | gps | No | 159 |
| 🇫🇮 Finland | gps | No | 46 |
| 🇫🇷 France | gtfs_timed | Yes | 74 |
| 🇬🇧 United Kingdom | gps | No | 33 |
| 🇭🇷 Croatia | gtfs_timed | Yes | 23 |
| 🇮🇱 Israel | gtfs_timed | Yes | 69 |
| 🇯🇵 Japan | api_timed | Yes | 140 |
| 🇯🇵 Japan | gps | No | 30 |
| 🇱🇺 Luxembourg | gtfs_timed | Yes | 24 |
| 🇱🇻 Latvia | gtfs_timed | Yes | 25 |
| 🇲🇾 Malaysia | gps | No | 8 |
| 🇳🇱 Netherlands | gps | No | 1 |
| 🇳🇱 Netherlands | api_timed | Yes | 49 |
| 🇳🇴 Norway | gps | No | 15 |
| 🇵🇱 Poland | gtfs_timed | Yes | 536 |
| 🇵🇹 Portugal | gtfs_timed | Yes | 8 |
| 🇷🇴 Romania | gtfs_timed | Yes | 215 |
| 🇸🇪 Sweden | gps | No | 35 |
| 🇸🇮 Slovenia | gtfs_timed | Yes | 20 |
| 🇸🇰 Slovakia | gtfs_timed | Yes | 117 |
| 🇺🇸 United States | gps | No | 298 |
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 |