Back on July 20, I began a series to review the operating speeds of TTC streetcar routes.
I hoped to get through the system fairly quickly with a separate detailed article for each route. After a few of these it was obvious that there was too much detail and not enough overall analysis. Readers quickly let me know that something else was needed.
Hence a pause during which little has happened on this site beyond editing of comments. Behind the scenes I have pulled together the route-level articles, for which this intro provides an overview and general comments. Readers interested in specific routes can refer to the articles below:
- 501 Queen / 507 Long Branch
- 504 King
- 506 Carlton
- 509 Harbourfront
- 510 Spadina
- 511 Bathurst
- 512 St. Clair
Links will be updated in this list as articles are published.
505 Dundas is a special case because it was not operating with Flexitys prior to the retirement of the CLRV fleet, but ran with buses thanks to a shortage of working streetcars. In place of a 2026 vs 2020 comparison, the Dundas article looks at 2026 vs 2023 before transit priority changes were implemented in 2024 and 2025.
Through all of the route analyses there are several consistent observations:
- Travel speeds in many locations and time periods are slower in 2026 than they were in 2019/20 with the same vehicles (new Flexity streetcars) operating on the system.
- Slower operation occurs not just at intersections but along routes. Any program to speed up streetcars has to include the “in between” areas.
- Transit signal priority is absent or ineffective at many locations including streets where there is no transit stop, but streetcars can be held anyway.
- Farside stops often entail extra delay with streetcars held nearside before they can cross to and serve the stop.
This article includes a section on the methodology behind the charts, a brief review of proposals to improve streetcar operations published by Fast-Track.to, and comments on TTC special track maintenance (junctions) and technology.
The Charts
For a now-and-then comparison, data from the period June 1-5, 2026 are presented together with data from late 2019 or early 2020. This compares operation with the new Flexity cars for both periods (the last of the CLRVs were retired at the start of 2020), and provides pre-pandemic “then” data before traffic conditions and ridership changed drastically in Spring 2020.
Generally speaking, the speeds recorded in 2019-20 were faster than in 2026, and this applies to most of these charts. The dotted (“old”) lines are almost always above the solid (“new”) ones. This is pervasive across the system, although there are a few exceptions (e.g. the effect of red lanes on parts of 511 Bathurst).
Travel Speeds Over a Section of a Route
This chart shows the east end of 504 King subdivided into segments south and westbound from Danforth to Jarvis. The solid lines show 2026 data, while the dotted lines show values for 2020. The same colour is used for the “now” and “then” data for each segment. In each case, travel is slower in 2026 than it was in 2020, although the amounts vary.

Speed Profiles
Travel speeds and dwell times are charted for six one-hour periods through weekdays beginning at 8am, noon, 3pm, 5pm, 8pm and 11pm to get representative data for the main periods of operation.
The charts below are for the eastbound and westbound service on the eastern part of 504 King in the 8-9am hour. The direction of travel in the eastbound chart (left below) is west to east, right to left on the chart. Valleys in the speeds are generally before intersections (to the right) as most stops on King are nearside. Where they are farside, slow operation on the near side approach shows how streetcars do not control signal priority notably at downtown intersections from Jarvis to Spadina. For the westbound service (right below), the direction is left to right.
For the long east-west routes, the speed profiles are divided into two charts for each half of the route with an overlap downtown, except for 501 Queen which is on a separate diversion route in 2026 compared to 2019/20.
The blue and orange solid lines track average speeds, while the dark blue and yellow dashed lines show a 20-segment (200m) moving average. Fairly consistently, the 2020 values are higher than 2026 although they generally stay on a similar profile of peaks and valleys across the chart.
The higher values correspond to areas where traffic is free-flowing, and the low values to areas of congestion. (See the 504 King article for a more detailed review.)
Note in particular that the speed difference lies not just at stops and junctions, but all along the route. “Fixing” slow operation will require more than operational and signal changes at stops and intersections.


Dwell Time Profiles
The dwell time charts show locations where streetcars spend extended periods going nowhere. This is in contrast to the travel time chart above which can show a drop in average speed, but not how long a car might be stationary.
The chart below shows 510 Spadina from Union Station to Spadina Station in the 8am to 9am period for June 1-5, 2026. Problems with long dwells are clearly between Queens Quay and Front as any regular rider of the line will know.
There are examples of double-stops at traffic signals. At Bremner, the dwell time waiting for a clear traffic signal is almost as long as the stop service time farside north of the intersection. Similarly at Front, there is more dwell time nearside waiting for a signal than at the farside stop. This pattern repeats at signalled locations along the route where there are farside stops. Dundas is particularly interesting because it has three peaks rather than two. The third is for a signalled intersection at St. Andrew north of Dundas where there is no transit stop, but streetcars are regularly held. At Nassau, with a nearside stop, there is only one peak. (See the 510 Spadina article for more details.)
These charts reveal locations where transit priority signals are either not installed or not working to the advantage of transit service.
As with the speed profiles, the charts are read in the direction of travel with westbound or northound left to right, and eastbound or southbound from right to left.

For routes in mixed traffic, stopping locations are not as precise as there could be a few autos between the streetcar and the “official” stop. The dwell time peaks can be more spread out in these cases, especially where congestion forces streetcars to creep up to stops slowly. The chart below shows the 505 Dundas car westbound from Broadview Station to Bathurst in the 5pm to 6pm hour.

Methodology
For these charts, the vehicle tracking data are mapped to a standard format with distance in 10-metre segments, and time in 20-second intervals. That interval was the standard reporting interval in the tracking system (CIS) that was replaced in 2019 by a newer version (Vision) that reports more frequently but irregularly.
(Note: because the timestamps on the data are rounded, it is possible for the speed calculation to be slightly off. Because the intervals vary, the proportional effect on calculated speed affects very short intervals where rounding has a greater effect. However, the overall pattern remains valid.)
On a broad scale, each route is divided into sections with “screenlines”, locations where the passage of each vehicle is noted to produce an “as operated” schedule of a day’s service. In turn, these are digested into headway charts at each screenline, and travel times between them. Those times, in turn are converted to speeds within the section to give an overview of a route’s behaviour. (These values were plotted for all routes in the original How Slow Is My Streetcar? article.)
At a fine scale, adjacent tracking values are used to convert the distance between travelled to a vehicle speed. These values are collected for each 10m segment along the route by hour, and divided by the number of vehicles passing in that hour to obtain an average speed.
Although the speed charts show the dips in average speed at stops, traffic signals and congested areas, they do not identify locations where there are long dwell times. These are found by counting how many repeated 20-second intervals have a streetcar in the same place. On private right-of-way routes like St. Clair, streetcars tend to pull up to a standard stop location and all of the dwell time shows up in one 10m segment. In mixed traffic, the stopping positions are uneven, and dwell times might be spread among two or even three adjacent segments (20-30m).
As mentioned earlier in the Travel Speed section, to simplify analysis of the tracking data, the route is divided into 10m sections and time into 20s intervals. These charts show locations where vehicles were in the same section for more than one time interval and the average time spent there. Note that a streetcar might be stopped to serve riders, or waiting for a traffic signal, or waiting for traffic to clear (including queuing for an occupied farside platform). There is no way to tell from the tracking data which factor contributes the most.
The values are calculated as the number of intervals above 1 a car is at the same point, and this is multiplied by 20. Cars that spend only one interval at a location do not contribute to the total time, but do add to the vehicle count. In effect, the formula is:
Dwell time = (Interval count at a location – 1) * 20 seconds
If anything, this undercounts dwell time by not charging any part of the first 20 seconds against the value. The values charted for each 10m segment are:
Average = Sum of Dwell times / Vehicle Count
As with the travel time charts, read northbound from left to right, and southbound from right to left. Where a stop is farside, traffic signal delays will be on the approaching side of an intersection (left of the vertical line northbound, right southbound) and stop service time will be on the other side.
The Fast-Track Proposal
Much commentary and debate has appeared on various social media regarding streetcar speeds and how they can be improved. A 10-point plan courtesy of fast-track.to proposes many changes, although some of them apply only to the new LRT Lines 5 and 6, or to long-range possible changes to the “legacy” streetcar system. The items of short-to-medium interest are:
- A substantial improvement in transit priority signalling including route selection over longer distances and well in advance of a streetcar’s arrival at a signal or junction.
- Eliminate speed restrictions through intersections and allow driving at traffic speed.
- Eliminate unnecessary left turns by autos that block streetcar service.
- Eliminate the stop-check-go procedure at every facing point switch to ensure correct alignment.
- Install double-point switches to allow operation at “full speed” through junctions.
- Optimize stop spacing.
TTC relaxed its speed restrictions for streetcars in late May 2026, but not at junctions.
As for stop spacing, I will not belabour this topic here beyond noting that few stops on most streetcar routes fall into the “unduly close” category. Moreover, work already done by TTC as part of the Service Standards Review (not yet published) shows that only by extending the maximum distance between stops from 400m to 600m could a substantial number of them be eliminated. This, of course, would come at a cost of convenience and accessibility to riders with the nominal goal of speeding travel for those already on board.
Oddly enough, the TTC does not propose to widen the spacing of bus stops, a change that would affect far more riders.
I will comment on this in more detail if the proposal survives to the public consultation period which is supposed to occur in September 2026. (See the Service Standards Review page for more details.)
Switching and Track Maintenance
The major problem with switches for three decades has been the unreliability of automatic switch controllers originally introduced for the longer ALRV streetcars. The stop-check-go and slow operation through junctions (among other practices) arose directly from a concern that operators verify their route, and proceed slowly in case a switch threw under the car. This policy applies even to manual switches.
There is supposed to be a program underway to replace the controllers, but its end date in the capital budget keeps drifting into the future with no change to operating practices in sight.
As for double-blade switches, although they are in common use world-wide, Toronto still uses single-blade switches that were standard in the North American street railway industry for a century. Double blade switches do little for stability in the straight direction at a junction, but improve wheel-rail dynamics for curves. Anyone old enough to experience CLRV and PCC operations up to the mid-80s will remember streetcars crossing junctions without tiptoeing through them at a walking pace.
A greater problem at junctions has been the condition of track which at some locations was dangerous in its own right beyond the condition or technology of track switches. It was easier for the TTC to impose a blanket slow order on all junctions, unlike the subway where slow orders come and go depending on track condition and maintenance programs.
One challenge both for route selection and transit priority is that Toronto’s system, common in North American street railways, only detects a car and its requested direction just before it reaches a switch. This was originally due to the position of the overhead contactor through which route selection was transmitted, a system replaced in the 1980s by loop antennae in the pavement. This design prevents any priority for turns until a streetcar is able to pull right up to a switch.
A further Toronto issue is that most electrified switches do not have any TSP functionality. This affects many locations where turns are common but not scheduled, typically for diversions and short turns.
Advance knowledge of streetcar locations and their planned route is possible with modern GPS-based tracking, although there remains a problem at nearside stops just before junctions where the “priority” might not be required until after stop service.