POS standards overview
Retail Barcode Standards: EAN-13, EAN-8 & UPC-A at POS
A selection guide for consumer-unit barcodes at checkout -- not a full encoding deep-dive. For bit-level structure, use the dedicated EAN-13, EAN-8, UPC-A, and comparison pages.
Open the generatorDecision tree: which symbol belongs on the pack?
Start from the identifier you are authorized to use, then match market and package size. Generating bars for a number you do not own does not create a retail-ready product. Price and description live in the POS database keyed by GTIN -- the barcode does not store shelf price.
Licensed GTIN?
If no, stop and obtain one through GS1 or another source your channel accepts.
Side-by-side: what appears on consumer packs
| EAN-13 | UPC-A | EAN-8 | |
|---|---|---|---|
| Digits under the bars | 13 | 12 | 8 |
| GTIN name | GTIN-13 | GTIN-12 | GTIN-8 |
| Typical pack context | International / multi-market retail units | North American retail units | Very small packs with allocated GTIN-8 |
| Check digit | GS1 Modulo-10 | Same Modulo-10 family | Same Modulo-10 family |
| Relationship | GTIN-12 and leading-zero GTIN-13 are the same item. GTIN-8 is a different allocation -- not a compressed GTIN-12/13. | ||
Concrete selection examples
Export chocolate
Licensed GTIN-13 for EU and APAC listings: print EAN-13. Keep the same GTIN in retailer feeds.
US grocery SKU
Buyer expects 12 digits: UPC-A. A 13-digit listing of the same GTIN is leading-zero expansion, not a new product.
Lip balm stick
Only if GS1 allocated GTIN-8: EAN-8. Tight space with only GTIN-13 means redesign placement -- do not fake EAN-8 digits.
Print and placement failure modes at POS
Most checkout failures are physical, not wrong symbology theory. Fix these before blaming the scanner.
| Failure mode | What cashiers see | Control |
|---|---|---|
| Quiet zone cropped by design | No-read or intermittent decode | Keep light margins; do not flush-crop SVG to the first bar |
| Symbol too small / bars merged | Repeated rescans | Respect magnification limits for printer and substrate |
| Bar height truncated heavily | Works with handheld aim, fails on omnidirectional lane | Preserve enough height for POS geometry |
| Low contrast | Fails under store lighting | Dark bars on solid light panel; proof final substrate |
| Seam, curve, or wrinkle | Distorted bars | Flat panel placement; avoid folds |
| Two competing retail symbols | Wrong item or dual-beep confusion | One primary consumer GTIN symbol in the scan path |
Prefer SVG for packaging Export from the generator for prepress. Raster screenshots are a common failure.
QR print differs Vector quiet-zone rules for QR are covered in SVG QR for print.
Uniform scale Stretching only width or only height produces unreliable decode.
Marketplace ownership Whether Amazon accepts your GTIN is a catalog question -- see EAN-13 for Amazon.
What this overview deliberately skips
Use these pages instead
EAN-13 / EAN-8 / UPC-A
EAN-13 vs UPC-A
ITF-14 / pharma
Parity patterns, check-digit worksheets, case carriers, and serialization live on dedicated guides.
Do not expect here
Full encoding math
GS1-128 logistics
Country legal checklists
This page answers which consumer POS symbol to print and how packs fail at checkout.