Scan shipping labels app guide for Canadian parcel drivers: which barcode holds the tracking number on FedEx, UPS, Purolator and Canada Post labels.
Why Does a Scan Shipping Labels App Sometimes Just Sit There?
If you have ever pointed a scan shipping labels app at a parcel and watched nothing happen, the problem is rarely the app and rarely you. It is usually one of three things: you are aiming at the wrong barcode, the barcode is physically hard to read at that moment, or the camera is too far away to resolve the bars. All three are fixable in seconds once you know what is printed on a Canadian parcel label and how a phone camera actually reads it. This guide walks through the labels of the six carriers independent drivers in Canada handle most, the real reasons scans fail, and the habits that turn a slow van into a fast one.
What Is Printed on a Canadian Parcel Label
A carrier label is a small stack of machine-readable codes with a human-readable layer on top. Almost every label has a tracking barcode (the number you and the recipient can look up), often a routing or sortation barcode (postal code, sort centre, service class, meant for the carrier's conveyor scanners), and increasingly a 2D code (a square or rectangular block of dots) that packs the same data plus address fields for the carrier's own systems. The printed digits under a barcode are the same value the barcode encodes, which is how a scanning app can cross-check what it read.
Which Barcode Is the Tracking Number, by Carrier
| Carrier | Tracking format | Where to point |
|---|---|---|
| FedEx Ground / Express | 12 digits, printed under the main 1D barcode; the barcode itself carries a longer 34-digit string | The tall 1D barcode with the 12-digit number under it. The stacked 2D block is for FedEx's own routing. |
| UPS | 1Z + 16 letters and digits, 18 characters total | The 1D barcode above the 1Z number. The hexagon-dot MaxiCode is UPS's sort symbol, not the tracking code. |
| Purolator | 12 characters: usually 3 letters + 9 digits, sometimes 12 digits (the PIN) | The 1D barcode with the PIN printed beneath it. |
| Canada Post (domestic) | 16 digits, printed in groups of four; US and international items use 13 alphanumeric characters | The 1D barcode with the 16-digit number under it. |
| Amazon Logistics | TBA + 12 digits (15 characters), sometimes TBC or TBM prefixes | The 1D barcode with the TBA number. It is Amazon's own reference, not a postal code. |
| Intelcom / Dragonfly | Letters + digits, commonly starting INTLCMA; same number under both brand names | The 1D barcode labelled with the tracking number. Quebec parcels say Intelcom, the rest of Canada says Dragonfly since 2024; it is one company. |
The rule of thumb across all six: scan the barcode that has the tracking number printed directly beneath it. Routing barcodes and 2D blocks are for the carrier's sorting hardware, and while a good app will often decode them too, the tracking barcode is the one whose value you can verify with your eyes.
Why Scans Fail — the Honest List
- Glare. Glossy thermal labels and plastic sleeves bounce light straight back into the lens and wash out the bars. Machine-vision guides recommend reading 10 to 15 degrees off perpendicular rather than dead-on.
- Curved polybags. A barcode wrapped around a soft bag is no longer a row of straight bars. Part of it is compressed, part stretched, and one shadow line across it can kill the read.
- Too far away. A camera needs several pixels for every bar to tell a thin bar from a thick one. Industrial readers work down to about 1 pixel per module for 1D codes and 2.5 for 2D codes, and phone software is not that forgiving. At arm's length, a small barcode may be only a pixel or two wide per bar, which is why older phones and low-resolution analysis frames fail on a label that scans fine up close.
- Motion blur. Slow panning smears bars into a grey streak. A scanner may still decode the value while mislocating it, or fail entirely.
- Label partly out of frame. If the quiet zone (the white margin) on either end of the barcode is cut off, most decoders refuse the read.
- Creased, torn or overwritten codes. Tape across a barcode, a fold through the bars, or a marker note over the digits all break the pattern.
- Low contrast. Faded thermal print, a label printed too light, or a dark parcel showing through a thin label all reduce the difference between bar and space.
Eight Habits That Speed Up a Full Van
- Fill the frame with the label. Closer is almost always better. Let the label take up most of the screen; the barcode gets more pixels per bar.
- Hold still for a beat. Frame, pause, let the scanner lock. Sweeping past a stack of parcels reads nothing.
- Kill the backlight. Turn the parcel so the light comes from behind you or from the side, not from behind the label.
- Flatten polybags with your free hand. Press the label flat for the second it takes to scan.
- Aim at the tracking barcode, not the routing one. Use the table above; the number under the bars is your check.
- Batch-scan at the van before you drive. Scanning all parcels at the depot or in the cargo area builds the whole route once, in good light, instead of one label at a time on doorsteps.
- Wipe the lens. A thumbprint on the camera is the most common cause of a scanner that suddenly stops working.
- Switch to manual shutter when auto capture hesitates. Auto capture waits until it is confident; on a bad label, taking the photo yourself is faster than waiting for the gate.
From Scan to Route: Where the Address Comes From
A scan-to-route app does two different jobs on one photo. First it decodes the barcode to get the tracking number, which identifies the parcel. Second it reads the printed recipient address off the label, because with very few exceptions the barcode does not contain the street address; Amazon's TBA number, for instance, carries no routing information at all. That second step is text recognition on the photo, and it is why a clean, flat, well-lit label photo matters even after the barcode has decoded: a blurry address block becomes a wrong stop. Once every label has a tracking number and an address, the app can order the stops into one route regardless of which carrier each parcel came from. If you have been typing addresses by hand, this is the workflow that replaces it.
How FlexMesh Helps
FlexMesh is built around exactly this flow. It scans FedEx, UPS, Purolator, Canada Post, Amazon, Intelcom/Dragonfly and other carriers' labels continuously, so a full van becomes one list without switching apps. Auto capture frames the label and fires when the barcode and address are confirmed, and a manual shutter is one tap away when a label is being difficult. The address is read from the label in the languages the app ships with, and every parcel lands in one multi-carrier route. Individual results vary with lighting, label condition and device.
Sources & Data Verification
- Canada Post — Where to find your tracking number (16 digits domestic; 13 alphanumeric US/international)
- Purolator E-Ship Online — Tracking by PIN/Reference
- Wikipedia — Tracking number (UPS 1Z 18-character format; FedEx 12-digit tracking within a 34-digit barcode)
- Wikipedia — MaxiCode (UPS's 2D sortation symbol)
- Wikipedia — Intelcom (Dragonfly brand outside Quebec since 2024)
- Ship24 — Amazon Logistics TBA tracking
- R.R. Floody — Pixels per module in barcode reading
- Dynamsoft — Why code scanning fails in real-world conditions