Train NS 5669 Utrecht Centraal – Zwolle

Utrecht Centraal 19:20 → Zwolle 20:36 Daily 1 h 16 min · 15 stops NS (Nederlandse Spoorwegen)

It has not run yet today

Last recorded run: Friday 6 November +3 min

Next service: today 19:20 from Utrecht Centraal · Sat 7 Nov

Next departure 19:20 today · Utrecht Centraal
On-time · 30 days
89%
17/19 runs under 3 min
RT coverage: 19 full · 0 partial · 8 no data
On-time · 90 days
91%
21/23 runs under 3 min
RT coverage: 23 full · 0 partial · 33 no data
Typical delay
0min
Median at arrival, 90 days
30 days: 0 min
P90
+3min
9 in 10 runs arrive with less than this
30 days: +3 min

Last 30 days

Arrival delay at Zwolle, 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 23 Oct Max en route +8 min · last fix heading to Utrecht Overvecht +7 min
  • Sun 11 Oct Max en route +13 min · last fix heading to Wezep +5 min

Distribution · 90 days

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

  • Early 0% · 0
  • On time 91% · 21
  • 3–10 min 9% · 2
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

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

Stops and timetable

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

Last 90 days, 23 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.

StopSched.Usually 9 days in 10
19:20on time on time
19:24≈ on time ≈ on time
19:31≈ on time ≈ +1 min
19:34≈ on time ≈ +1 min
19:40 / 19:42≈ on time ≈ +1 min
19:46≈ on time ≈ +1 min
19:49≈ on time ≈ +1 min
19:54≈ on time ≈ +1 min
19:59≈ on time ≈ +1 min
20:04≈ on time ≈ +2 min
20:08≈ on time ≈ +2 min
20:16≈ on time ≈ +2 min
20:22≈ on time ≈ +2 min
20:29≈ on time ≈ +2 min
20:36on time +3 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

DateLast stopFinalMax
Fri 6 Nov— 20:43+3 min+3 min
Thu 5 Nov— 20:380 min—
Wed 4 Nov— 20:39+1 min+2 min
Mon 2 Nov— 20:440 min—
Sun 1 NovWezep 20:430 min—
Sat 31 OctWezep 20:440 min—
Fri 30 Oct— 20:450 min—
Wed 28 Oct— 20:370 min—
Tue 27 Oct— 20:40No data—
Mon 26 OctAmersfoort Vathorst 20:37No data—
Sun 25 OctWezep 20:44No data—
Sat 24 OctWezep 20:440 min—
Fri 23 OctUtrecht Overvecht 20:50+7 min+8 min
Thu 22 Oct— 20:38No data—
Wed 21 Oct— 20:570 min—
Tue 20 Oct— 20:440 min—
Mon 19 Oct— 20:370 min—
Sun 18 OctWezep 20:45+1 min+2 min
Sat 17 OctWezep 20:43No data—
Fri 16 OctNijkerk 20:36No data—
Thu 15 Oct— 20:39No data—
Wed 14 OctAmersfoort Vathorst 20:36No data—
Tue 13 Oct— 20:370 min—
Mon 12 Oct— 20:450 min—
Sun 11 OctWezep 20:49+5 min+13 min
Sat 10 OctWezep 20:440 min—
Fri 9 Oct— 20:38+2 min+2 min
Thu 8 Oct— 20:500 min—
Wed 7 Oct— 20:380 min—
Tue 6 Oct— 20:370 min—