VIA Rail 641 Ottawa – Toronto

View line VIA Rail

Ottawa 04:13 → Toronto 08:48 Mon, Tue, Wed, Thu 4 h 35 min · 9 stops VIA Rail

Running now · updated 07:18

Between Belleville and Cobourg +9 min

Estimated arrival at Toronto 08:57 08:48 · 137 km/h

  1. Ottawa04:13
  2. Fallowfield04:30
  3. Brockville05:32
  4. Kingston06:16
  5. Belleville06:56
  6. Cobourg07:31
  7. Toronto08:48

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

On-time · 30 days
0%
0/6 runs under 3 min
RT coverage: 5 full · 1 partial · 12 no data
On-time · 90 days
0%
0/6 runs under 3 min
RT coverage: 5 full · 1 partial · 45 no data
Typical delay
+19min
Median at arrival, 90 days
30 days: +19 min
P90
+57min
9 in 10 runs arrive with less than this
30 days: +57 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 6 Oct Max en route +77 min · last fix heading to Toronto +72 min
  • Thu 8 Oct Max en route +47 min · last fix heading to Toronto +42 min
  • Wed 7 Oct Max en route +26 min · last fix heading to Toronto +26 min
  • Mon 12 Oct Max en route +14 min · last fix heading to Toronto +11 min
  • Mon 5 Oct Max en route +11 min · last fix heading to Toronto +11 min

Distribution · 90 days

6 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 17% · 1
  • 10–30 min 50% · 3
  • 30+ min 33% · 2

On-time by weekday

  • 0% M n=2
  • 0% T n=2
  • 0% W n=1
  • 0% T n=1
  • — F n=0
  • — S n=0
  • — S n=0

Stops and timetable

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

StopSched.Today
04:13Passed
04:30 / 04:33Passed
05:00 / 05:02Passed
05:32 / 05:34Passed
06:16 / 06:19Passed
06:56 / 06:59Passed
07:31 / 07:33Next
07:41 / 07:43
08:48

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
Tue 13 OctCobourg 07:14Partial coverage+9 min+9 min
Mon 12 OctToronto 08:59+11 min+14 min
Thu 8 OctToronto 09:30+42 min+47 min
Wed 7 OctToronto 09:14+26 min+26 min
Tue 6 OctToronto 10:00+72 min+77 min
Mon 5 OctToronto 08:59+11 min+11 min
Thu 1 OctToronto 08:47No data—
Wed 30 SeptToronto 08:48No data—
Tue 29 SeptToronto 08:47No data—
Mon 28 SeptToronto 08:47No data—
Thu 24 SeptToronto 08:47No data—
Wed 23 SeptToronto 08:47No data—
Tue 22 SeptToronto 08:47No data—
Mon 21 SeptToronto 08:47No data—
Thu 17 SeptToronto 08:47No data—
Wed 16 SeptToronto 08:47No data—
Tue 15 SeptToronto 08:47No data—
Mon 14 SeptToronto 08:47No data—
Thu 10 SeptToronto 08:47No data—
Wed 9 SeptToronto 08:47No data—
Tue 8 SeptToronto 08:47No data—
Mon 7 SeptToronto 08:47No data—
Thu 3 SeptToronto 08:47No data—
Wed 2 SeptToronto 08:47No data—
Tue 1 SeptToronto 08:47No data—
Mon 31 AugToronto 08:48No data—
Thu 27 AugToronto 08:47No data—
Wed 26 AugToronto 08:47No data—
Tue 25 AugToronto 08:47No data—
Mon 24 AugToronto 08:47No data—