UPC-A Generator
North American retail standard: 12 digits scanned at every US and Canadian checkout.
How UPC-A is structured
UPC-A prints 12 digits — one number system digit, a five-digit company prefix, a five-digit item reference and a check digit — in the same 95-module layout as EAN-13: guards at each end and a centre guard dividing the two halves. All digits use a single (even) parity pattern on the left and its complement on the right, because there is no leading digit to encode the way EAN-13 does.
UPC-A check digit
The check digit uses the same mod-10 weighting as EAN-13: from the right of the 11 data digits, multiply alternately by 3 and 1, sum, and complete to the next multiple of ten. Supply 11 digits and the generator calculates and appends the check digit for you; supply 12 and it is checked rather than recomputed.
UPC-A compared with EAN-13
EAN-13 and UPC-A are interchangeable at the scanner: an EAN-13 with a leading zero is a UPC-A. UPC-E is the compressed variant of the same number system, printing six data digits plus a check digit in a much shorter symbol for packages that cannot carry 95 modules. Compare the EAN-13 generator page for the same breakdown of structure, check digit and use cases.
Common UPC-A problems
The number system digit is wrong for the product
A regular retail item uses number system 0 to 8; a 2 marks a random-weight item sold by measure and a 5 marks a coupon. Reusing a coupon or weight code for a fixed-price item gets the scan rejected or mispriced at the till.
Leading zeros are lost on import
Codes beginning with 0 look empty in a numeric cell, so the first digit vanishes and the check digit stops matching. Keep the column formatted as text and confirm the digit count before generating.
Guard bars are clipped by the label edge
The three-module guards are what a reader locks onto. Cutting them short to squeeze the symbol into a narrow panel — or wrapping them over a curve — breaks the pattern. Give the symbol its full width plus quiet zones instead of shrinking the guard.
Where UPC-A is used
- Retail point-of-sale codes in US and Canadian grocery and general merchandise
- Case and multipack codes assigned under the same company prefix
- Coupon and random-weight codes using the dedicated number system digits
Not sure this is the right symbology? The barcode format guide groups every supported 1D and 2D format by industry with its character set and limits.