Freight Shipping Costs in Ontario: A Shipper's 2026 Guide
What you actually pay per loaded mile, per all-in mile, and per equipment type for freight in Ontario. Real rate ranges, with the math broken out.
Freight pricing in Ontario gets quoted in a half-dozen different units — flat rates, per mile, per kilometer, per pallet, per hundredweight, per hour. If you're a shipper trying to compare three quotes, you end up comparing apples, kilometers, and concrete blocks.
This guide breaks down how freight rates actually get calculated in Ontario, what reasonable ranges look like in mid-2026, and which questions to ask when a quote feels off.
The two numbers that matter
Almost every reasonable freight quote can be reduced to two figures:
$/loaded mile
The rate divided by the distance the truck is actually hauling freight. If a load goes from Brampton to Montreal (525 miles) and the rate is $1,575, that's $3.00 per loaded mile.
$/all-in mile
The rate divided by total miles the truck drives — loaded plus deadhead. A truck that runs Brampton-Montreal-Brampton has 1,050 total miles. The same $1,575 rate is $1.50 per all-in mile.
Why both matter: shippers care about loaded miles because that's what they're buying. Carriers care about all-in miles because deadhead burns fuel and wears out the truck without earning anything. A rate that's great on a loaded-mile basis can be terrible on an all-in basis if the carrier has no backhaul.
Typical 2026 Ontario rate ranges
These ranges reflect what we see on Loadlink, on broker boards, and in direct shipper-carrier deals across the GTA and the Ontario-Quebec corridor. They are not quotes — your specific lane will move with season, equipment availability, and how tight the appointment window is.
| Equipment | $/loaded mile | Notes |
|---|---|---|
| Sprinter / cargo van | $1.80–$2.40 | Up to ~3,500 lbs, expedited freight |
| Straight truck (5-ton) | $2.20–$2.80 | 10,000–14,000 lb capacity, urban delivery |
| 24-ft dry van | $2.50–$3.20 | ~16,000 lb capacity, pallet freight |
| 53-ft dry van | $2.40–$3.10 | ~45,000 lb capacity, full truckload |
| Reefer 53-ft | $3.20–$4.20 | Temperature-controlled premium |
| Flatbed 48–53-ft | $3.40–$4.50 | Tarping and securement included |
Add 15–25% for cross-border to the U.S., add 10–20% for tight appointment windows, subtract a bit for steady weekly volume.
The hidden math: deadhead
Carriers don't want to drive an empty truck home. If your load ends in a place where no one's shipping out, the carrier has to eat that return trip — and they'll price your rate to cover it.
Example: a load from Mississauga to Sudbury. About 250 miles loaded. Sudbury is not a backhaul hotspot. The carrier might price the load like this:
- Loaded miles: 250 × $3.00 = $750
- Deadhead return: 250 miles × $0.95 (just to cover cost) = $238
- Total ask: $988
Now run the same load Mississauga to Montreal: 350 miles loaded, but Montreal is full of outbound freight, so the carrier expects to find a backhaul. They'll quote closer to loaded-mile pure:
- Loaded miles: 350 × $2.80 = $980
- No deadhead built in
- Total ask: $980
Almost the same number for an extra 100 miles of distance. The Montreal lane is cheaper per mile because of where it ends.
The multi-trip rule
For loads that take multiple trips with the same truck — common with oversize or heavy freight where one truck has to shuttle in batches — the math gets weird. Specifically: the final trip is one-way. The truck doesn't need a deadhead return because the job's done.
Example: 26,000 lbs of building materials need to move from Saint-Esprit, QC to Brighton, ON. Distance: ~430 miles. Your 12,000-lb truck has to run it as 3 round trips of partial loads, then a 4th trip one-way to finish.
- Trips 1–3: 430 mi × 2 (round) × 3 trips = 2,580 miles all-in
- Trip 4: 430 mi one-way = 430 miles loaded
- Total: 3,010 miles to be paid for; only 1,720 are revenue-loaded
At an honest $2.50/loaded mile, this is roughly $4,300. At all-in cost-recovery math (because deadhead has to be covered), it's closer to $4,800. Both are valid — what matters is which structure you're agreeing to.
Seasonal multipliers
Ontario freight pricing is seasonal. Rough seasonal patterns:
- January–February: Soft. Post-holiday slump. Carriers compete on price. Expect 8–15% discount off summer rates.
- March–April: Recovering. Spring construction kicks in. Rates climb 5–10%.
- May–August: Peak. Construction, agricultural, and consumer goods all moving. Tightest capacity of the year. Rates 15–25% above winter floor.
- September–November: Holiday push. Retailers stocking. Rates stay high, especially for refrigerated and time-sensitive freight.
- December: Mixed. Tight before mid-December, collapse after the 20th when most shippers have wrapped.
How to read a quote
When a carrier sends a flat rate, ask:
- Distance. Loaded miles vs. all-in miles?
- Equipment. Confirm the specific truck. A "straight truck" could be 12,000 lbs or 26,000 lbs — make sure the truck size matches your weight.
- Fuel surcharge. Is it bundled into the rate or quoted separately? Both are normal; mixing them up makes comparison hard.
- Detention. What's included before detention starts charging? 2 hours free is industry standard; less than that should be a flag.
- Accessorials. Liftgate, inside delivery, residential pickup — all extras. Know what you need and confirm pricing upfront.
What we charge
At TRUCC, we run a transparent pass-through model: the shipper pays the carrier directly at the agreed rate, and there's no markup on top from us. Our coordination work is handled separately with the carriers in our network, not as a hidden premium on the load price.
If you want to talk through a specific lane and what reasonable pricing should look like, get in touch. Even if we're not the right carrier for your load, we can point you toward what a fair number looks like.
For carriers
Need a dispatch desk behind your truck?
TRUCC handles load sourcing on DAT, rate negotiation, broker setups, and cross-border paperwork for owner-operators and small carriers across Canada and the USA. A dispatcher replies within 24 hours.