In the west, the highway begins at Masset and Victoria, British Columbia. The northern branch, known as the Yellowhead Highway and designated as Highway 16, starts south along Graham Island for 101 km to Skidegate, then connects via a 172 km-long ferry route to Prince Rupert, then passes southeastward for 724 km through to Prince George, then goes another 268 km through to Tête Jaune Cache, enters Alberta through the Rocky Mountains near Jasper (100 km from Tête Jaune Cache), and passes through Edmonton another 366 km later, and Saskatoon 532 km later, before meeting the southern branch at Portage la Prairie, 697 km from Saskatoon. The total length of the Yellowhead portion of the Trans-Canada Highway, including ferries, is 2,960 km.
The southern branch, designated as Highway 1 in the four western provinces, passes northward along the east coast of Vancouver Island for 99 km to Nanaimo; a 57 km-long ferry route connects the highway to Vancouver, whence it goes 170 km east to Hope, then turns north for 186 km toward Cache Creek, then east for 79 km through to Kamloops, then 483 km east to Banff, 101 km to Calgary, 293 km to Medicine Hat, 403 km east to Moose Jaw, 79 km to Regina, 372 km to Brandon, and 119 km east to Portage La Prairie.
The joined highway goes east for 84 km through to Winnipeg and east for another 205 km to Kenora. The existing branch from Kenora continues east for 136 km to Dryden. A new branch begins at Rainy River, which goes east for 92 km to Fort Frances. The two branches converge 288 km east of Dryden (which is also 282 km east of Fort Frances). The united highway proceeds southeast for 65 km to Thunder Bay. The highway proceeds northeast for 115 km to Nipigon, where it once again splits into two routes. The northern route is designated as Highway 11, and the southern branch is designated as Highway 17. From Nipigon, Highway 11 extends through the north of Ontario for 401 km east to Hearst and another 213 km east through Cochrane. The highway proceeds southeast for 218 km to New Liskeard, then south for 153 km to North Bay, where it meets highway 17.
From Nipigon, Highway 17 proceeds east along the coast of Lake Superior for 581 km through to Sault Ste. Marie and another 291 km east to Sudbury, where the Trans-Canada Highway splits again. The resulting southern branch follows highways 69 and 400 south for 254 km, then follows Highway 12 southeast for 27 km to Orillia, then follows Highway 12 south for 58 km along the shore of Lake Simcoe, then follows highway 7 east for 70 km to Peterborough. The existing northern branch goes east for 151 km to North Bay. The highway then goes east for 216 km before arriving at Pembroke.
The two branches converge at Ottawa, 244 km east of Peterborough and 123 km east of Pembroke. From Ottawa, the Trans-Canada Highway proceeds 206 km east to Montreal, heading northeast through the Eastern Townships, south of the Saint Lawrence River, for 257 km to Lévis (across from Quebec City).
East of Levis, the Trans-Canada highway hugs the south bank of the Saint Lawrence River to a junction just south of Rivière-du-Loup, 173 km northeast of Levis. At that junction, the highway turns east for 121 km to Edmundston. Through the highway's entire course through New Brunswick, it is designated as Highway 2.
East of Edmundston, the highway hugs the American border for 170 km to Woodstock, then turns east for 102 km to pass through Fredericton and Moncton another 177 km later. The highway goes east another 54 km to a junction near Sackville, where a loop into Prince Edward Island, designated as Highway 16, splits off. The 175 km-long loop through P.E.I. enters the province over the Confederation Bridge, passes through Charlottetown, and ends at Wood Island, where a 26 km-long ferry route continues the loop to Pictou. From the dock at Pictou, the highway continues another 19 km to a junction with the direct Trans-Canada Highway route at New Glasgow.
From Sackville, the main Trans-Canada Highway route goes east into Nova Scotia, gaining the designation of Highway 104 on entry into the province. The highway then passes by Truro, 117 km east of Sackville. The highway then goes east for 57 km to New Glasgow, and then northeast for another 112 km to a bridge across the Strait of Canso onto Cape Breton Island near Port Hawkesbury. The Trans-Canada Highway is designated as Highway 105 on Cape Breton Island. From the Strait of Canso bridge, the highway goes 144 km northeast, reaching a ferry dock just north of Sydney.
From Sydney a 177 km-long ferry route continues the highway to Channel-Port aux Basques on Newfoundland, where the highway goes northeast for 219 km through Corner Brook, and east for another 352 km through Gander and finally ends at St. John's, another 334 km southeast.