Independent public comparison
We compared public guest estimates for one domestic parcel from Toronto to Montréal. We are not affiliated with Canada Post or Purolator. This records estimates shown on 28 September 2026; prices, surcharges and delivery standards can change.
The occasional-sender quote test
As an occasional parcel sender, I want a reliable price and delivery estimate without creating an account so that I can choose an appropriate service confidently.
Quote one 2 kg parcel measuring 30 × 20 × 15 cm from Toronto M5V 2T6 to Montréal H2Y 1C6, compare services and stop before buying a label.
Regular Parcel $24.39 in three business days; Xpresspost $32.31 and Priority $63.24 in one guaranteed business day.
Six services arriving Tuesday 29 September, from $77.79 Ground to $153.24 Express 9AM.
Canada, unsigned-in desktop Chrome at 1440 × 1000, prices in Canadian dollars.
Request an estimate with the postal codes empty, then correct the fields and complete the quote. No label, shipment, account or payment was created.
The 30-second result
Canada Post gives the occasional sender the clearer choice and a much lower three-day price. Purolator makes next-day timing easy to scan.
Canada Post wins this task because it offers a visible speed-and-price ladder: $24.39 for three business days or $32.31 for one guaranteed business day. Purolator’s least expensive Ground estimate was $77.79 for delivery the next day, and its six service cards make time-of-day upgrades clear. The quotes are not the same service promise, so the price difference should guide—not replace—the sender’s delivery decision. Both work without sign-in, but both have severe phone layout instability in current field data.
Canada Post turns one parcel into three understandable trade-offs
Canada Post uses a staged quote. The first screen asks for origin and destination, the second confirms Package, and the third collects dimensions and weight. The result heading repeats “Parcel (2 kg) 30cm × 20cm × 15cm going to H2Y 1C6”, which makes it easy to verify the estimate basis before comparing prices.

Regular Parcel was $24.39 for three business days with tracking, delivery confirmation and carbon-neutral shipping. Xpresspost was $32.31 for one guaranteed business day with tracking and up to $100 liability coverage. Priority was $63.24 for the same one-day guarantee plus a signature option. The hierarchy supports an occasional sender who is choosing between economy and urgency rather than between product names alone.
Round winner / Canada Post
It provides a meaningful slower option and shows what changes with each faster service.
Purolator makes next-day time windows immediately scannable
Purolator keeps the form and results in a two-column layout. After resolving the postal codes to Toronto and Montréal, the result area groups all six services under “Arriving on Tue, Sep 29”. “Fastest” identifies Express 9AM at $153.24; “Most economical” identifies Ground at $77.79. Express 10:30AM was $106.26, Express 12PM $88.71, Express end of day $79.52 and Express Evening $128.73.

Purolator labels dimensions “For more accurate estimates” and hides them in an Add Dimensions dialog. We entered the same 30 × 20 × 15 cm values, but the closed form did not display a dimension summary alongside the result. The estimate does resolve the postcodes to city, province and country, which is reassuring. A compact parcel summary beside the service cards would make the result easier to verify.
Canada Post gives an error overview; Purolator leaves focus on the button
On Canada Post, pressing Next with both postal fields empty added a specific “Enter an address or postal code” message to each field, a “This section contains 2 errors” summary and a “Go to first error” link. After both postcodes were entered, the summary disappeared on the next action and the staged flow continued.
Purolator showed “Sender postal code is required” and “Recipient postal code/city is required” beside the fields, but keyboard focus remained on Get Estimate. The messages are clear, yet a keyboard or screen-reader user receives less guidance about where to recover. Moving focus to an error summary or the first invalid field would reduce the loop.
Purolator loads quickly but shifts dramatically; Canada Post struggles with both
These are p75 phone Chrome UX Report results for the exact public calculator URLs from 30 August to 26 September 2026. Purolator is fast and responsive, but both exact pages have poor layout stability. Canada Post’s 0.87 CLS is particularly severe and should be investigated before load-speed refinements are treated as the main issue.
Clean desktop traces reproduced the instability: Canada Post recorded 4.13s LCP and 0.29 CLS, while Purolator recorded 0.54s LCP and 1.10 CLS. Canada Post’s LCP image was discovered through faronline.js after a 3.00s resource-load delay, and its largest shift moved the main application section. Purolator’s worst shift cluster began at 770ms; it moved the main content and header, with an unsized logo and non-composited colour or visibility animations identified as potential causes.
The configured mobile PageSpeed runs scored Canada Post 88 for accessibility and 46 for best practices, versus Purolator at 95 and 100. Canada Post’s automated findings included focusable content hidden from assistive technology, missing image alternatives and disabled zoom. Purolator’s included an invalid ARIA attribute and a visible-label/accessibility-name mismatch. These checks identify risks and do not establish WCAG conformance.
All ten Nielsen usability heuristics
Repeat the parcel basis with the rates.
Canada Post does this well; Purolator repeats postcodes and weight but not closed dimensions.
Lead with arrival and total price.
Both translate service names into a date or business-day promise.
Keep editing close to results.
Canada Post offers Edit details; Purolator leaves the editable form in view.
Use comparable delivery language.
“Three business days” is clearer than an arrival date without the shipment-day context.
Make dimensions part of the verified estimate.
Optional-looking dimensions can materially affect later charges.
Show inclusions on every service card.
Canada Post exposes tracking, liability and signature differences directly.
Support guest estimation without diversion.
Both complete the quote without requiring an account.
Stabilise the page before adding motion.
Large shifts undermine otherwise clear quote layouts.
Move focus to the first invalid field.
Canada Post provides an overview link; Purolator leaves focus on the submit action.
Put surcharge risk beside the estimate basis.
Size, weight and additional-handling rules should be visible before a service is chosen.
What we would change first
Reserve the calculator shell and late-loaded content space.
What
Give the main application regions stable dimensions and prevent late modules from moving them.
Where
The exact Find a Rate calculator and its embedded application sections.
Why
Field CLS is 0.87 and the lab trace reproduced a 0.29 shift cluster.
Measure
Exact-page p75 CLS, shift-node traces and quote-step completion.
Discover the LCP image in the document, not after JavaScript.
What
Preload or render the home image in initial markup and use cacheable delivery.
Where
The Find a Rate shell that currently discovers home_1.png through faronline.js.
Why
The lab trace attributed 3.00s of the 4.13s LCP to resource-load delay.
Measure
LCP discovery time, p75 LCP and calculator-start latency.
Size the logo and remove layout-affecting reveal animations.
What
Add intrinsic logo dimensions and animate composited properties without inserting result space late.
Where
The estimate header and results wrapper.
Why
Field CLS is 0.50 and the lab trace recorded a 1.10 cluster tied to those regions.
Measure
Exact-page p75 CLS, lab shift clusters and accidental taps after result load.
Make the first error and estimate basis keyboard-obvious.
What
Move focus to a linked error summary, expose dimensions in the result summary and preserve entered values.
Where
Postal-code validation and final rate headers.
Why
Clear inline copy still requires extra navigation when focus remains on the action.
Measure
Validation loops, keyboard completion, edit-details use and label-purchase progression.
What this public comparison cannot see
We stopped before purchasing a label, entering sender or recipient addresses, creating a shipment or making payment. We did not verify pickup availability, counter pricing, final surcharges, claims, delivery execution or service guarantees. The prices are estimates for the displayed parcel, route and date.
Public testing cannot show which calculator produces more completed shipments. Analytics could connect validation loops, quote completion, service selection, edit-details use and label purchase; operational data would be needed to compare actual delivery performance.