EAN-13 and UPC-A: A Practical Guide to Retail Barcodes
The barcode on a cereal box is deceptively simple: thirteen stripes-groups, thirteen digits. Behind it sits a global numbering system — and a surprising number of ways to get a print run wrong. This guide covers what EAN-13 and UPC-A encode, where the numbers must come from, and how to print them so the first scan at the checkout succeeds.
The GTIN behind the bars
EAN-13 encodes a GTIN-13 and UPC-A a GTIN-12 — the same GS1 identification scheme, differing mainly by region of origin (North America historically used UPC). The number has three parts: a company prefix licensed from GS1, an item reference you assign to each product variant, and a final check digit computed with the standard mod-10 algorithm. The check digit is not optional decoration: scanners reject numbers whose digit does not match the computed value.
Rules that save print runs
- Never invent a prefix or reuse a GTIN across products — every variant (size, colour, pack count) needs its own number.
- Keep the quiet zones: blank margins of at least 11 modules to the left and right are part of the symbol, not decoration.
- Print at a standard magnification (80–200%) and keep bars vertical relative to the direction of scanning.
- Dark bars on a light background; red-only bars can disappear under red laser light.
- Verify one printed sample with a real scanner before the full run.
Test with your real GTIN
Once your GS1 prefix arrives, paste the full 13-digit number into a generator and check the rendered check digit and human-readable text. QrDeco validates the check digit as you type and exports print-ready SVG and PDF — generated locally, so your unreleased product numbers never leave your machine.