TRACKING NUMBER FORMATS
PostProof
Tracking number formats
Royal Mail prints two different shapes of reference, and neither of them is unique to Royal Mail. Here is every format PostProof's scanner recognises, how it separates the ones that look identical, and the things it deliberately does not claim to know.
PostProof holds two patterns for Royal Mail, and a number on a counter receipt will normally be one or the other.
XX123456789GB
Two letters, nine digits, then GB — thirteen characters
This is the international-style reference. The GB on the end is a country suffix; the two letters at the front vary with the service. PostProof does not decode either one. It matches the shape, names the likely carrier from it, and can hand the number to Royal Mail's public tracking page. The same thirteen-character shape appears with US, CA, AU, DE, FR and ES on the end for the other posts in the list below, which is exactly why the last two characters carry so much weight.
1234567890123456
Sixteen digits, no letters anywhere
The domestic form. Nothing inside it says Royal Mail — Canada Post uses bare sixteen digits too, and several carriers use long digit runs that a sixteen-digit pattern can sit inside. On its own, a sixteen-digit number is not identifying. What identifies it is the rest of the receipt.
PostProof does not verify a check digit and does not look a number up with a carrier before saving it. A number that matches a shape but lost a character to a smudge will still be accepted, which is the reason every scan finishes on a review screen where you confirm what was found.
Thirty patterns across nineteen carriers, transcribed from the app's own carrier definitions. The examples are masks showing the shape, not real consignments.
| Carrier | Shape | Length | Looks like |
|---|---|---|---|
| Royal Mail | 2 letters · 9 digits · GB | 13 | XX123456789GB |
| 16 digits | 16 | 1234567890123456 | |
| Parcelforce | P · 1 letter · 9 digits · GB | 13 | PX123456789GB |
| P · 2 letters · 10 digits | 13 | PXX1234567890 | |
| Evri | 1 letter · 2 digits · 13 letters or digits | 16 | X12ABCDEFGH12345 |
| H · 15 letters or digits | 16 | H12345ABCDE67890 | |
| DPD | 14 digits | 14 | 12345678901234 |
| 2 letters · 10 digits | 12 | XX1234567890 | |
| Yodel | JD · 16 digits | 18 | JD1234567890123456 |
| 2 · 11 digits | 12 | 212345678901 | |
| Collect+ | 16 letters or digits | 16 | AB12CD34EF56GH78 |
| Amazon Logistics | TBA · 12 to 15 digits | 15–18 | TBA123456789012 |
| TBM · 12 to 15 digits | 15–18 | TBM123456789012 | |
| InPost | 24 digits | 24 | 123456789012345678901234 |
| DHL eCommerce UK | JJD · 16 to 20 digits | 19–23 | JJD1234567890123456 |
| DX | No pattern — receipt wording or manual | — | — |
| USPS | 9 · one of 2 3 4 5 · 18 to 22 digits | 20–24 | 92012345678901234567 |
| 20 to 22 digits | 20–22 | 12345678901234567890 | |
| 2 letters · 9 digits · US | 13 | XX123456789US | |
| UPS | 1Z · 16 letters or digits | 18 | 1Z999AA10123456784 |
| FedEx | 12 to 22 digits | 12–22 | 123456789012 |
| 15 digits | 15 | 123456789012345 | |
| DHL Express | 10 digits | 10 | 1234567890 |
| JD · 18 digits | 20 | JD123456789012345678 | |
| Canada Post | 16 digits | 16 | 1234567890123456 |
| 2 letters · 9 digits · CA | 13 | XX123456789CA | |
| Australia Post | 2 letters · 9 digits · AU | 13 | XX123456789AU |
| 12 to 22 digits | 12–22 | 123456789012 | |
| Deutsche Post | 2 letters · 9 digits · DE | 13 | XX123456789DE |
| La Poste | 2 letters · 9 digits · FR | 13 | XX123456789FR |
| Correos | 2 letters · 9 digits · ES | 13 | XX123456789ES |
DX is the one carrier with no pattern. Its numbers run to about nine or ten digits, which is short enough that scanning for them would drag in half the other figures on a receipt, so DX is recognised from the wording or chosen by hand. Its tracking link still works.
Look down the table and the overlaps are obvious. Sixteen digits is Royal Mail and Canada Post. Twelve to twenty-two digits is FedEx and Australia Post, and a fourteen-digit DPD number fits inside both. Reading a receipt is therefore less about recognising a number than about deciding which pattern gets to claim which characters. PostProof does that in four steps.
The receipt's own carrier is then decided by majority — whichever carrier owns the most parcels found — rather than by the first brand name printed on it. A Post Office slip with one line about an Evri drop-off is still a Post Office slip.
UPS first because 1Z is unique to it; InPost last because twenty-four digits should only be claimed once the shorter, more specific patterns have had their turn.
Post Office certificates of posting and the Royal Mail app's proof PDFs are laid out in blocks, and each parcel's reference sits on a line that names itself: Barcode Number on the counter certificate, Item Reference Number in the app's PDF. Where those labels exist, PostProof trusts them over its own pattern matching.
That matters for two reasons. The first is that a labelled reference does not have to match any carrier format to be captured — an untracked 2nd Class posting reference like 07013F90552 is not a tracking number in any scheme, and no regular expression on this page describes it, but it is the number printed against your item and it gets saved. The second is that on a labelled document the loose digit-only patterns become a liability rather than a help: text recognition reading the barcode stripes or a session id can invent numbers that look perfectly plausible. So when labels are present, the only extra candidates accepted are ones containing letters — a reference whose own label line was misread, rather than a phantom conjured out of a barcode.
While it is there, the reader also picks up what surrounds each block: the service used, the destination or destination country, the postcode, and the weight of the item, which is why a scanned certificate arrives with more filled in than a photograph of a till roll does.
Worth being plain about, because most of what people assume a scanner does is not happening here.
Two shapes. The international style is two letters, nine digits and the letters GB, thirteen characters in all. The other is a bare sixteen digits with no letters at all.
GB is a country suffix carried by the international-format number. The two letters at the front vary by service. PostProof decodes neither: it matches the shape, names the likely carrier, and offers a tracking link.
No. It does not verify a check digit and it does not look anything up with a carrier, so a number that matches the shape but was misread by a character is still accepted. That is why every scan ends on a review screen you confirm.
Because Royal Mail and Canada Post both use bare sixteen digits, and several other carriers use long digit runs too. Nothing in the digits themselves separates them, so PostProof leans on the wording printed on the receipt and on a fixed order of precedence.
That is common on untracked services. PostProof reads the labelled blocks on Post Office certificates and Royal Mail app PDFs — the lines beginning Barcode Number or Item Reference Number — so a posting reference no format describes still gets captured.
Nineteen. Eighteen of them have number formats it can match; DX numbers are too generic to scan for safely, so DX is recognised from the receipt wording or picked by hand. There is no partnership with any of them.