What UPC-A is
UPC-A (GTIN-12) is the standard North American retail product barcode, standardized alongside EAN-13 under ISO/IEC 15420.
Generate it now
Type just the first 11 digits now to have the 12th check digit computed for you, or all 12 to have them validated.
Valid input
UPC-A encodes exactly 12 digits including a Modulo-10 check digit; bwip-js computes the check digit if you supply the first 11.
Key options
Supported options include includetext and height.
Output and printing
Export SVG for retail packaging artwork; bwip-js always reserves the required quiet zone on both sides, independent of the guardwhitespace option.
Common uses
UPC-A is the retail product barcode used across North America, carrying a GTIN-12 assigned by GS1.
Example
The seeded example, "012345000058", is a bwip-js-verified valid GTIN-12 -- drop the final digit to see bwip-js compute the same check digit back from the first 11.
Size guidance
UPC-A's mandatory quiet zone is reserved unconditionally by bwip-js, the same requirement as EAN-13.
Troubleshooting
A mismatched check digit is the most common error; let bwip-js compute it from the first 11 digits.
Related formats
Related formats: EAN-13 (UPC-A is a special case of EAN-13 with a leading zero), and UPC-E for small packages.
FAQ
Is UPC-A really just EAN-13 with a zero in front?
Yes, structurally -- a UPC-A code padded with a leading zero decodes identically under EAN-13 rules, which is why many EAN-13 scanners read UPC-A without any special configuration.