Train NS 2039 Rotterdam Centraal – Utrecht Centraal

Rotterdam Centraal 10:39 → Utrecht Centraal 11:42 Mon, Tue, Wed, Thu, Sat 1 h 03 min · 5 stops NS (Nederlandse Spoorwegen)

It does not run today

Last recorded run: Saturday 17 October 0 min

Next service: Monday 10:39 from Rotterdam Centraal · Mon 26 Oct

Next departure 10:39 Monday · Rotterdam Centraal
On-time · 30 days
100%
10/10 runs under 3 min
RT coverage: 9 full · 1 partial · 15 no data
On-time · 90 days
90%
56/62 runs under 3 min
RT coverage: 61 full · 1 partial · 20 no data
Typical delay
0min
Median at arrival, 90 days
30 days: 0 min
P90
+2min
9 in 10 runs arrive with less than this
30 days: +2 min

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

  • Sat 12 Sept Max en route +20 min · last fix heading to Rotterdam Centraal +20 min
  • Sun 16 Aug Max en route +17 min · last fix heading to Rotterdam Centraal +17 min
  • Sat 8 Aug Max en route +8 min · last fix heading to Rotterdam Centraal +8 min
  • Sun 30 Aug Max en route +6 min · last fix heading to Rotterdam Centraal +6 min
  • Fri 14 Aug Max en route +4 min · last fix heading to Rotterdam Centraal +4 min

Distribution · 90 days

62 runs with a known final delay. On time = under 3 min, the same cut the map uses.

  • Early 37% · 23
  • On time 53% · 33
  • 3–10 min 6% · 4
  • 10–30 min 3% · 2
  • 30+ min 0% · 0

On-time by weekday

  • 90% M n=10
  • 100% T n=10
  • 100% W n=8
  • 100% T n=7
  • 90% F n=10
  • 75% S n=8
  • 78% S n=9

Stops and timetable

Timetable of the latest run from the operator’s GTFS (5 stops).

StopSched.
10:39
10:50
10:58
11:19 / 11:24
11:42

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.

Recent runs

DateLast stopFinalMax
Sat 17 OctGouda 11:43Partial coverage0 min—
Fri 16 OctGouda 11:430 min—
Thu 15 OctGouda 11:43No data—
Wed 14 OctGouda 11:43No data—
Tue 13 OctGouda 11:43No data—
Mon 12 OctGouda 11:440 min—
Sun 11 OctGouda 11:45+1 min+1 min
Sat 10 OctGouda 11:430 min—
Fri 9 OctGouda 11:440 min—
Thu 8 OctGouda 11:45+2 min+3 min
Wed 7 OctRotterdam Centraal 12:000 min—
Tue 6 OctGouda 11:45+2 min+2 min
Mon 5 OctGouda 11:38No data—
Sun 4 OctGouda 11:38No data—
Sat 3 OctGouda 11:40No data—
Fri 2 OctGouda 11:38No data—
Thu 1 OctGouda 11:38No data—
Wed 30 SeptGouda 11:39No data—
Tue 29 SeptGouda 11:38No data—
Mon 28 SeptGouda 11:38No data—
Sun 27 SeptGouda 11:39No data—
Sat 26 SeptGouda 11:38No data—
Fri 25 SeptGouda 11:40No data—
Thu 24 SeptGouda 11:38No data—
Wed 23 SeptRotterdam Centraal 23:21−24 min+3 min
Tue 22 SeptRotterdam Alexander 00:20−2 min+2 min
Mon 21 SeptRotterdam Alexander 19:24−2 min+3 min
Sun 20 SeptRotterdam Alexander 21:22−2 min+5 min
Sat 19 SeptGouda 11:38No data—
Fri 18 SeptRotterdam Centraal 19:000 min+8 min