R41 261 Visp – Zermatt
Alerts for train 261
Alerts are saved per line, not per trip id, so they keep working when the operator changes the timetable. This train runs on line R41.
✓ Today’s run finished
Today it reached Zermatt at 20:19 +2 min
- Visp19:11
- Stalden-Saas19:20
- Kalpetran19:28
- Herbriggen19:48
- Randa19:56
- Täsch20:02
- Zermatt20:17
Next service: tomorrow 19:11 from Visp · Wed 7 Oct
Last 30 days
Arrival delay at Zermatt, 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 19 Sept Max en route +20 min · last fix heading to Täsch +20 min
- Thu 1 Oct Max en route +19 min · last fix heading to Täsch +19 min
- Tue 11 Aug Max en route +14 min · last fix heading to Zermatt +14 min
- Fri 18 Sept Max en route +4 min · last fix heading to Zermatt +4 min
- Mon 21 Sept Max en route +3 min · last fix heading to Zermatt +3 min
Distribution · 90 days
27 runs with a known final delay. On time = under 3 min, the same cut the map uses.
- Early 0% · 0
- On time 81% · 22
- 3–10 min 7% · 2
- 10–30 min 11% · 3
- 30+ min 0% · 0
On-time by weekday
- 75% M n=4
- 75% T n=4
- 100% W n=4
- 75% T n=4
- 75% F n=4
- 50% S n=2
- 100% S n=5
Stops and timetable
Timetable of the latest run from the operator’s GTFS (8 stops).
| Stop | Sched. |
|---|---|
| 19:11 | |
| 19:20 / 19:21 | |
| 19:28 | |
| 19:37 / 19:38 | |
| 19:48 | |
| 19:56 / 19:57 | |
| 20:02 | |
| 20:17 |
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
| Date | Last stop | Final | Max |
|---|---|---|---|
| Tue 6 Oct | Zermatt 20:20 | +2 min | +2 min |
| Mon 5 Oct | Zermatt 20:21 | +2 min | +2 min |
| Sun 4 Oct | Zermatt 20:20 | +2 min | +2 min |
| Thu 1 Oct | Täsch 09:17Partial coverage | +19 min | +19 min |
| Wed 30 Sept | Zermatt 09:16 | +2 min | +2 min |
| Mon 21 Sept | Zermatt 18:16 | +3 min | +3 min |
| Sun 20 Sept | Zermatt 18:16 | +2 min | +2 min |
| Sat 19 Sept | Täsch 18:16Partial coverage | +20 min | +20 min |
| Fri 18 Sept | Zermatt 18:16 | +4 min | +4 min |
| Sun 13 Sept | Zermatt 13:16 | +1 min | — |
| Thu 27 Aug | Zermatt 12:16 | +1 min | +1 min |
| Wed 26 Aug | Zermatt 12:16 | +1 min | — |
| Tue 25 Aug | Zermatt 12:16 | 0 min | — |
| Mon 24 Aug | Zermatt 16:17 | +1 min | — |
| Sun 23 Aug | Zermatt 16:16 | +2 min | +2 min |
| Fri 21 Aug | Zermatt 16:16 | +2 min | +2 min |
| Thu 20 Aug | Zermatt 16:16 | +1 min | +1 min |
| Wed 19 Aug | Zermatt 16:16 | 0 min | — |
| Tue 18 Aug | Zermatt 16:16 | +2 min | +2 min |
| Mon 17 Aug | Zermatt 10:16 | +1 min | +1 min |
| Sun 16 Aug | Zermatt 10:16 | +1 min | +2 min |
| Sat 15 Aug | Zermatt 10:16 | +2 min | +2 min |
| Fri 14 Aug | Zermatt 10:16 | +1 min | +1 min |
| Thu 13 Aug | Zermatt 20:16 | +1 min | — |
| Wed 12 Aug | Zermatt 20:16 | +2 min | +2 min |
| Tue 11 Aug | Zermatt 20:16 | +14 min | +14 min |
| Fri 31 Jul | Echallens 20:36 | +1 min | +10 min |