UPC (UPC-A) validator
How the UPC (UPC-A) format works
- Format
- 12-digit UPC-A barcode number (GS1 mod-10 check digit)
- Example
- 036000291452
Things to watch for
- UPC-A is 12 digits and uses the same GS1 mod-10 check-digit algorithm as EAN-13 and GTIN-14 — just a different length
- Prefixing a UPC-A with a leading 0 gives its equivalent 13-digit EAN-13 without changing the check digit
- This checks format and checksum only — it doesn't confirm the code is actually assigned to a product; use GS1's lookup tools for that
^[0-9]{12}$A UPC-A is the 12-digit barcode number printed under the bars on most packaged goods sold in the United States and Canada — the number a cashier can key in by hand if a scanner won’t read the label. The manufacturer’s GS1 member organization (GS1 US in the United States, GS1 Canada in Canada) assigns a company prefix, the manufacturer assigns an item reference to every distinct product and pack size, and the twelfth digit is a check digit calculated from the eleven before it. It’s the North American counterpart to EAN-13, which is used almost everywhere else.
Converting between UPC-A and EAN-13
Because retail systems worldwide standardized on GS1’s numbering scheme, a UPC-A converts to its equivalent EAN-13 by adding a single leading zero — nothing else changes, including the check digit. That’s why a US-made product scanned in Europe often shows up in a system as a 13-digit number even though the physical barcode never changed. Both lengths use the identical GS1 check-digit rule: starting from the check digit itself and moving left, each digit is weighted alternately by 1 and 3, and the total must land on a multiple of ten.
What this check confirms — and what it doesn’t
Validating a UPC-A here only confirms it’s 12 digits long and that the check digit is arithmetically consistent with the rest — the kind of thing that catches a single mistyped or transposed digit before it goes into a product feed, POS system, or inventory spreadsheet. It says nothing about whether that number has actually been assigned by GS1 US to a real product, what that product is, or whether it’s currently sold anywhere. For that, GS1’s own lookup tools are the right next step — this tool only checks the arithmetic.
Content last reviewed 2026-07-22.
UPC (UPC-A) FAQ
What's the difference between a UPC-A and an EAN-13?
UPC-A is the 12-digit barcode standard used mainly in the US and Canada; EAN-13 is the 13-digit standard used almost everywhere else. Padding a UPC-A with a leading zero produces its equivalent EAN-13 without changing the check digit, so the same physical barcode can be represented either way depending on which system reads it.
How is the last digit of a UPC-A calculated?
It's a GS1 mod-10 checksum. Starting from the check digit and moving left, each digit is multiplied by an alternating weight of 1 and 3; the check digit is whatever value makes the total sum a multiple of ten. This is the same rule used across every GS1 barcode length, from EAN-8 up to GTIN-14.
Does a valid UPC-A mean the product actually exists?
No. A pass only confirms the number is the right length and its check digit is mathematically correct — it doesn't confirm the code was ever assigned to a real product or that the product is still sold. To look up what a specific UPC identifies, use a GS1 GEPIR search or a commercial product database.