Train NS 2023 Rotterdam Centraal – Utrecht Centraal
✓ Today’s run finished
Today, last fix heading to Gouda at 07:44 0 min
- Rotterdam Centraal07:05
- Rotterdam Alexander07:13
- Gouda07:23
- Utrecht Centraal07:42
Next service: Monday 07:05 from Rotterdam Centraal · Mon 16 Nov
Last 30 days
Arrival delay at Utrecht Centraal, in minutes. One bar per run.
- On time (<3 min)
- 3–10 min
- 10–30 min
- 30+ min
- Partial coverage
- No data
Worst days
- Fri 18 Sept Max en route +23 min · last fix heading to Rotterdam Centraal +14 min
- Fri 11 Sept Max en route +8 min · last fix heading to Rotterdam Centraal +4 min
- Mon 9 Nov Max en route +6 min · last fix heading to Gouda +4 min
- Mon 26 Oct Max en route +3 min · last fix heading to Gouda +3 min
Distribution · 90 days
44 runs with a known final delay. On time = under 3 min, the same cut the map uses.
- Early 30% · 13
- On time 61% · 27
- 3–10 min 7% · 3
- 10–30 min 2% · 1
- 30+ min 0% · 0
On-time by weekday
- 75% M n=8
- 100% T n=10
- 100% W n=8
- 100% T n=9
- 78% F n=9
- — S n=0
- — S n=0
Stops and timetable
Timetable of the latest run from the operator’s GTFS (4 stops).
Last 90 days, 44 runs. At intermediate stops it is an estimate from the delay at origin and destination. Delays over 2 h count as “> 2 h”: our data does not measure them exactly.
| Stop | Sched. | Usually | 9 days in 10 |
|---|---|---|---|
| 07:05 | on time | on time | |
| 07:13 | ≈ on time | ≈ +1 min | |
| 07:23 / 07:24 | ≈ on time | ≈ +2 min | |
| 07:42 | 1 min early | +4 min |
Each run is closed into train_runs (country, train number, service day) from the live positions. Final delay = last delay seen. Partial coverage: the feed stopped before the final stop (last value used, hatched in the chart). No data: a run without any valid delay; counts as neither on time nor late. Data collected since 11 July 2026.
Will I make my connection?
Pick where you get off and how many minutes you have until your next train. We work it out from what this train did over the last 90 days.
Include the time to change platforms. It is an estimate from past data, not a guarantee. Days more than 2 h late count as a missed connection.
Recent runs
| Date | Last stop | Final | Max |
|---|---|---|---|
| Fri 13 Nov | Gouda 07:44Partial coverage | 0 min | — |
| Thu 12 Nov | Gouda 07:44Partial coverage | +1 min | +2 min |
| Wed 11 Nov | Gouda 07:43Partial coverage | 0 min | — |
| Tue 10 Nov | Gouda 07:44Partial coverage | +2 min | +3 min |
| Mon 9 Nov | Gouda 07:44 | +4 min | +6 min |
| Fri 6 Nov | Gouda 07:44 | No data | — |
| Thu 5 Nov | Gouda 07:39Partial coverage | 0 min | — |
| Wed 4 Nov | Gouda 07:38Partial coverage | 0 min | — |
| Tue 3 Nov | Gouda 08:19 | 0 min | — |
| Mon 2 Nov | Gouda 07:44 | No data | — |
| Fri 30 Oct | Gouda 07:43Partial coverage | 0 min | — |
| Thu 29 Oct | Gouda 07:44Partial coverage | +1 min | +1 min |
| Wed 28 Oct | Gouda 07:44Partial coverage | +1 min | +1 min |
| Tue 27 Oct | Gouda 07:46Partial coverage | 0 min | — |
| Mon 26 Oct | Gouda 07:45 | +3 min | +3 min |
| Fri 16 Oct | Gouda 07:43Partial coverage | 0 min | — |
| Thu 15 Oct | Gouda 07:44Partial coverage | 0 min | — |
| Wed 14 Oct | Gouda 07:44Partial coverage | 0 min | — |
| Tue 13 Oct | Gouda 07:45Partial coverage | 0 min | — |
| Mon 12 Oct | Gouda 07:43Partial coverage | 0 min | — |
| Fri 9 Oct | Gouda 07:48Partial coverage | +1 min | +2 min |
| Thu 8 Oct | Gouda 07:46Partial coverage | +1 min | +1 min |
| Wed 7 Oct | Gouda 07:43Partial coverage | 0 min | — |
| Tue 6 Oct | Gouda 07:44Partial coverage | +1 min | +1 min |
| Mon 5 Oct | Gouda 07:39 | No data | — |
| Fri 2 Oct | Rotterdam Centraal 01:04 | 0 min | +10 min |
| Thu 1 Oct | Rotterdam Centraal 19:38 | −3 min | — |
| Wed 30 Sept | Rotterdam Centraal 19:03 | +2 min | +6 min |
| Tue 29 Sept | Rotterdam Alexander 18:48 | −3 min | +5 min |
| Mon 28 Sept | Rotterdam Alexander 23:19 | −1 min | +2 min |