The label · live engine
One symbol on a label is one too few.
A phone camera reads a QR code instantly and a linear barcode badly. A warehouse laser scanner, which is what most distribution centres already own, reads Code 128 natively and cannot read a QR at all. Print one of them and somebody at the receiving dock types your lot code in by hand, which is precisely the thing the label was there to stop.
- Code 128
- subset B
- QR mode
- byte
- QR versions
- 1 to 10
- Encoder draws
- nothing
What is on the pallet
- QR
- version 2, level M, mask 2, 25 modules square
- Code 128
- subset B, 200 modules wide at 0.33 mm
It prints black on white at the real module width, on its own, without the rest of the page. Point your phone camera at the QR and it will read back the lot code.
Pallet label
Snow crab, cooked sections
- Boxes
- 48
- Net weight
- 1,224 lb
- Per box
- 25.5 lb
LOT-2026-000418
Fig. 1 Change the lot code and both symbols re-encode. Point a phone at the QR to check it reads back what is printed under the barcode.
Why write the encoder rather than use a library?
Because a label has to come out of one place. The same encoder feeds the screen, the print stylesheet, and the server rendered PDF, so the barcode on the label a driver carries is the same symbol as the one on the screen it was checked against. Pulling in three different rendering libraries is how a warehouse ends up with two labels that disagree and nobody able to say which is right.
How do you know a barcode is correct?
This is the part that matters, because a barcode is the one thing on a label a human cannot proofread. A single wrong digit in the symbol table produces a label that looks perfect, prints fine, and scans as different data.
So the tests do not check that the output looks like a barcode. The Code 128 symbol table is pinned, entry by entry, against a published one from an outside reference implementation, and the QR output is pinned against the module matrix printed in the ISO specification itself, transcribed from two independent reference projects that agree with each other. Change a digit anywhere and a test goes red before a label does.
A label is only worth what the record behind it is.
The lot on this label starts life at the landing and ends up on the board.