How 12-digit UPC, 13-digit EAN, and 14-digit GTIN relate
A 12-digit North American UPC-A code is a subset of the 13-digit international EAN-13 system. Prepending a leading zero ('0') to any 12-digit UPC-A produces its equivalent 13-digit EAN-13 without changing the check digit or the encoded bar pattern.
Similarly, prepending two leading zeros ('00') to a 12-digit UPC-A (or one leading zero to an EAN-13) forms its 14-digit GTIN-14 used inside GS1 DataMatrix 2D symbols and outer master-carton labels.
| Standard | Digits | Example | Primary scanner environment |
|---|---|---|---|
| UPC-A (GTIN-12) | 12 (11 + check) | 036000291452 | US & Canadian retail POS checkouts |
| EAN-13 (GTIN-13) | 13 (12 + check) | 0036000291452 | European, UK, & global retail POS |
| GTIN-14 | 14 (13 + check) | 00036000291452 | GS1 DataMatrix (AI 01) & outer cases |
GS1 physical size & magnification rules (80% – 120%)
Under GS1 US General Specifications Section 5.2, retail 1D barcodes cannot be stretched to arbitrary pixel widths. At 100% nominal magnification, each narrow bar (X-dimension) is 0.330 mm wide, making the full symbol 37.29 mm wide with a 9X (2.97 mm) quiet zone on each side.
For smaller stickers such as 2 × 1 in thermal labels or 30-up Avery 5160 sheets, 80% to 100% magnification keeps the quiet zones intact. For 4 × 2 in Avery 5163 shipping cases, 120% magnification allows long-range handheld scanning.
Frequently asked questions
Does changing my 12-digit UPC to EAN-13 change the last check digit?
No, when the leading digit is 0. Because 0 multiplied by 1 adds zero to the Modulo-10 sum, `036000291452` (UPC-A) and `0036000291452` (EAN-13) share the exact same check digit 2.
How can I verify or repair a wrong check digit across a list of codes?
Open our Check Digit Calculator or any barcode tool page: when you type an 11-digit payload or a 12-digit code with a mismatched last digit, the engine calculates the true Modulo-10 digit automatically before rendering.