Train NS 4912 Utrecht Centraal – Hilversum

Utrecht Centraal 05:24 → Hilversum 05:41 Daily 0 h 17 min · 5 stops NS (Nederlandse Spoorwegen)

✓ Today’s run finished

Today, last fix heading to Hilversum Sportpark at 05:54 0 min

  1. Utrecht Centraal05:24
  2. Utrecht Overvecht05:28
  3. Hollandsche Rading05:35
  4. Hilversum Sportpark05:39
  5. Hilversum05:41

Next service: tomorrow 05:24 from Utrecht Centraal · Wed 28 Oct

Next departure 05:24 tomorrow · Utrecht Centraal
On-time · 30 days
90%
19/21 runs under 3 min
RT coverage: 12 full · 9 partial · 9 no data
On-time · 90 days
90%
19/21 runs under 3 min
RT coverage: 12 full · 9 partial · 66 no data
Typical delay
+1min
Median at arrival, 90 days
30 days: +1 min
P90
+3min
9 in 10 runs arrive with less than this
30 days: +3 min

Last 30 days

Arrival delay at Hilversum, in minutes. One bar per run.

  • On time (<3 min)
  • 3–10 min
  • 10–30 min
  • 30+ min
  • Partial coverage
  • No data

Worst days

  • Tue 13 Oct Max en route +6 min · last fix heading to Hilversum Sportpark +6 min
  • Mon 12 Oct Max en route +3 min · last fix heading to Hilversum Sportpark +3 min

Distribution · 90 days

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

  • Early 0% · 0
  • On time 90% · 19
  • 3–10 min 10% · 2
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

  • 67% M n=3
  • 75% T n=4
  • 100% W n=3
  • 100% T n=3
  • 100% F n=3
  • 100% S n=3
  • 100% S n=2

Stops and timetable

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

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
Tue 27 OctHilversum Sportpark 05:54Partial coverage0 min—
Mon 26 OctHilversum Sportpark 05:540 min—
Sun 25 OctHilversum Sportpark 05:55No data—
Sat 24 OctHilversum Sportpark 05:55Partial coverage+3 min+3 min
Fri 23 OctHilversum Sportpark 05:54+1 min+1 min
Thu 22 OctHilversum Sportpark 05:540 min—
Wed 21 OctHilversum Sportpark 05:540 min—
Tue 20 OctHilversum Sportpark 05:55Partial coverage+2 min+2 min
Mon 19 OctHilversum Sportpark 05:56Partial coverage+3 min+3 min
Sun 18 OctHilversum Sportpark 05:58+2 min+4 min
Sat 17 OctHilversum Sportpark 05:560 min—
Fri 16 OctHilversum Sportpark 05:55+2 min+2 min
Thu 15 OctHilversum Sportpark 05:54Partial coverage0 min—
Wed 14 OctHilversum Sportpark 05:540 min—
Tue 13 OctHilversum Sportpark 06:00+6 min+6 min
Mon 12 OctHilversum Sportpark 05:56+3 min+3 min
Sun 11 OctHilversum Sportpark 05:55Partial coverage+2 min+2 min
Sat 10 OctHilversum Sportpark 05:54Partial coverage+1 min+1 min
Fri 9 OctHilversum Sportpark 05:54+1 min+1 min
Thu 8 OctHilversum Sportpark 05:54Partial coverage+1 min+1 min
Wed 7 OctHilversum Sportpark 05:530 min—
Tue 6 OctHilversum Sportpark 05:54Partial coverage+1 min+1 min
Mon 5 OctHilversum Sportpark 05:55No data—
Sun 4 OctHilversum Sportpark 05:58No data—
Sat 3 OctHilversum Sportpark 05:54No data—
Fri 2 OctHilversum Sportpark 05:54No data—
Thu 1 OctHilversum Sportpark 05:54No data—
Wed 30 SeptHilversum Sportpark 05:54No data—
Tue 29 SeptHilversum Sportpark 05:58No data—
Mon 28 SeptHilversum Sportpark 05:54No data—