Train NS 662 Leeuwarden – Den Haag Centraal

Leeuwarden 16:46 → Den Haag Centraal 19:20 Daily 2 h 34 min · 9 stops NS (Nederlandse Spoorwegen)

It has not run yet today

Last recorded run: Wednesday 4 November No data

Next service: today 16:46 from Leeuwarden · Thu 5 Nov

Next departure 16:46 today · Leeuwarden
On-time · 30 days
89%
17/19 runs under 3 min
RT coverage: 7 full · 12 partial · 10 no data
On-time · 90 days
90%
19/21 runs under 3 min
RT coverage: 7 full · 14 partial · 67 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 Den Haag 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

  • Mon 2 Nov Max en route +7 min · last fix heading to Zwolle +7 min
  • Thu 8 Oct Max en route +4 min · last fix heading to Zwolle +4 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

  • 80% M n=5
  • 100% T n=1
  • 100% W n=2
  • 50% T n=2
  • 100% F n=4
  • 100% S n=4
  • 100% S n=3

Stops and timetable

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

Last 90 days, 21 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
16:46on time on time
17:02≈ on time ≈ on time
17:16≈ on time ≈ on time
17:26≈ on time ≈ on time
17:41 / 17:49≈ on time ≈ on time
18:24 / 18:26≈ on time ≈ on time
18:39 / 18:43≈ on time ≈ on time
19:01 / 19:03≈ on time ≈ on time
19:20on time on time

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
Wed 4 NovZwolle 19:19No data—
Tue 3 NovZwolle 19:19No data—
Mon 2 NovZwolle 19:29Partial coverage+7 min+7 min
Sun 1 NovGouda 19:170 min—
Sat 31 OctGouda 19:17Partial coverage0 min—
Fri 30 OctUtrecht Centraal 19:22Partial coverage0 min—
Thu 29 OctZwolle 19:21Partial coverage0 min—
Wed 28 OctZwolle 19:21Partial coverage0 min—
Tue 27 OctZwolle 19:22No data—
Mon 26 OctZwolle 19:28Partial coverage0 min—
Sun 25 OctGouda 19:22No data—
Sat 24 OctGouda 19:240 min—
Fri 23 OctGouda 19:22Partial coverage0 min—
Thu 22 OctUtrecht Centraal 19:28No data—
Wed 21 OctAmersfoort Centraal 19:24No data—
Tue 20 OctUtrecht Centraal 19:28No data—
Mon 19 OctAmersfoort Centraal 18:440 min—
Sun 18 OctUtrecht Overvecht 19:220 min—
Sat 17 OctUtrecht Overvecht 19:220 min—
Fri 16 OctZwolle 19:210 min—
Thu 15 OctAmersfoort Centraal 19:36No data—
Wed 14 OctGouda 19:22No data—
Tue 13 OctAmersfoort Centraal 18:41No data—
Mon 12 OctUtrecht Centraal 19:220 min—
Sun 11 OctGouda 19:22Partial coverage+2 min+2 min
Sat 10 OctGouda 19:22Partial coverage0 min—
Fri 9 OctAmersfoort Centraal 19:26Partial coverage+2 min+2 min
Thu 8 OctZwolle 19:37Partial coverage+4 min+4 min
Wed 7 OctZwolle 18:03Partial coverage0 min—
Tue 6 OctZwolle 19:21Partial coverage0 min—