VIA Rail 669 Montréal – Toronto

View line VIA Rail

Montréal 18:24 → Toronto 23:33 Daily 5 h 09 min · 6 stops VIA Rail

Running now · updated 20:35

Between Cornwall and Kingston +3 min

Estimated arrival at Toronto 23:36 23:33 · 125 km/h

  1. Montréal18:24
  2. Dorval18:49
  3. Cornwall19:41
  4. Kingston21:07
  5. Oshawa22:50
  6. Toronto23:33

Today it is running no worse than usual: typical arrival delay is +23 min; 0% of the last 23 runs arrived on time.

On-time · 30 days
0%
0/23 runs under 3 min
RT coverage: 21 full · 2 partial · 3 no data
On-time · 90 days
0%
0/23 runs under 3 min
RT coverage: 21 full · 2 partial · 54 no data
Typical delay
+23min
Median at arrival, 90 days
30 days: +23 min
P90
+64min
9 in 10 runs arrive with less than this
30 days: +64 min

Last 30 days

Arrival delay at Toronto, 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 +118 min · last fix heading to Oshawa +118 min
  • Mon 19 Oct Max en route +75 min · last fix heading to Toronto +70 min
  • Mon 5 Oct Max en route +72 min · last fix heading to Toronto +70 min
  • Fri 23 Oct Max en route +46 min · last fix heading to Toronto +40 min
  • Tue 27 Oct Max en route +44 min · last fix heading to Toronto +39 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 0% · 0
  • 3–10 min 9% · 2
  • 10–30 min 65% · 15
  • 30+ min 26% · 6

On-time by weekday

  • 0% M n=4
  • 0% T n=4
  • 0% W n=4
  • 0% T n=4
  • 0% F n=4
  • — S n=0
  • 0% S n=3

Stops and timetable

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

StopSched.Today
18:24Passed
18:49 / 18:53Passed
19:41 / 19:43Passed
21:07 / 21:10Next
22:50 / 22:52
23:33

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 10 July 2026.

Recent runs

DateLast stopFinalMax
Fri 30 OctKingston 20:34Partial coverage+3 min+4 min
Thu 29 OctToronto 23:56+23 min+28 min
Wed 28 OctToronto 23:48+15 min+19 min
Tue 27 OctToronto 00:12+39 min+44 min
Mon 26 OctToronto 23:47+14 min+21 min
Sun 25 OctToronto 23:37+4 min+7 min
Fri 23 OctToronto 23:58+40 min+46 min
Thu 22 OctToronto 23:46+29 min+30 min
Wed 21 OctToronto 23:44+26 min+34 min
Tue 20 OctToronto 23:44+26 min+36 min
Mon 19 OctToronto 00:28+70 min+75 min
Sun 18 OctToronto 23:19+10 min+10 min
Fri 16 OctToronto 23:28+10 min+13 min
Thu 15 OctToronto 23:27+10 min+11 min
Wed 14 OctToronto 23:34+16 min+24 min
Tue 13 OctOshawa 01:17Partial coverage+118 min+118 min
Mon 12 OctToronto 23:41+23 min+29 min
Sun 11 OctToronto 23:45+27 min+30 min
Fri 9 OctToronto 23:45+27 min+30 min
Thu 8 OctToronto 23:31+13 min+21 min
Wed 7 OctToronto 23:57+39 min+43 min
Tue 6 OctToronto 23:28+10 min+13 min
Mon 5 OctToronto 00:29+70 min+72 min
Sun 4 OctToronto 23:19No data—
Fri 2 OctToronto 23:17No data—
Thu 1 OctKingston 19:59Partial coverageNo data—
Wed 30 SeptKingston 19:59Partial coverageNo data—
Tue 29 SeptKingston 19:59Partial coverageNo data—
Mon 28 SeptKingston 19:59Partial coverageNo data—
Sun 27 SeptKingston 19:59Partial coverageNo data—