Train NS 3921 Eindhoven Centraal – Heerlen

Eindhoven Centraal 08:08 → Heerlen 09:11 Daily 1 h 03 min · 5 stops NS (Nederlandse Spoorwegen)

✓ Today’s run finished

Today, last fix heading to Sittard at 09:14 +2 min

  1. Eindhoven Centraal08:08
  2. Weert08:25
  3. Roermond08:38
  4. Sittard08:55
  5. Heerlen09:11

Next service: tomorrow 08:08 from Eindhoven Centraal · Wed 11 Nov

Next departure 08:08 tomorrow · Eindhoven Centraal
On-time · 30 days
95%
21/22 runs under 3 min
RT coverage: 11 full · 11 partial · 8 no data
On-time · 90 days
93%
26/28 runs under 3 min
RT coverage: 14 full · 14 partial · 59 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: +2 min

Last 30 days

Arrival delay at Heerlen, 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 9 Nov Max en route +6 min · last fix heading to Sittard +6 min
  • Wed 7 Oct Max en route +5 min · last fix heading to Sittard +4 min

Distribution · 90 days

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

  • Early 0% · 0
  • On time 93% · 26
  • 3–10 min 7% · 2
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

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

Stops and timetable

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

Last 90 days, 28 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
08:08on time on time
08:25≈ on time ≈ +1 min
08:38 / 08:40≈ on time ≈ +1 min
08:55 / 08:56≈ on time ≈ +1 min
09:11on time +2 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
Tue 10 NovSittard 09:14Partial coverage+2 min+2 min
Mon 9 NovSittard 09:14Partial coverage+6 min+6 min
Sun 8 NovVlissingen Souburg 09:490 min+1 min
Sat 7 NovVlissingen Souburg 09:52+3 min+3 min
Fri 6 NovSittard 09:12No data—
Thu 5 NovSittard 09:27No data—
Wed 4 NovSittard 09:13Partial coverage0 min—
Tue 3 NovSittard 09:14No data—
Mon 2 NovSittard 09:240 min—
Sun 1 NovSittard 09:15+1 min+1 min
Sat 31 OctSittard 09:10+2 min+2 min
Fri 30 OctSittard 09:160 min—
Thu 29 OctSittard 09:15Partial coverage0 min—
Wed 28 OctSittard 09:17No data—
Tue 27 OctSittard 09:13Partial coverage0 min—
Mon 26 OctSittard 09:150 min—
Sun 25 OctSittard 09:12No data—
Sat 24 OctAmsterdam Sloterdijk 06:480 min—
Fri 23 OctSittard 09:130 min—
Thu 22 OctSittard 09:15Partial coverage0 min—
Wed 21 OctSittard 09:12No data—
Tue 20 OctSittard 09:12Partial coverage0 min—
Mon 19 OctSittard 09:15Partial coverage0 min—
Sun 18 OctSittard 09:16+1 min+2 min
Sat 17 OctSittard 09:120 min—
Fri 16 OctSittard 09:13No data—
Thu 15 OctSittard 09:13Partial coverage0 min—
Wed 14 OctSittard 09:12No data—
Tue 13 OctSittard 09:12Partial coverage0 min—
Mon 12 OctSittard 09:13Partial coverage0 min—