Validation of UPC and EAN Barcode Numbers
All UPCs are 12digit numbers, but not every 12digit number is a valid UPC.
How so? Because every UPC has what's called a "check digit". This check digit — the last digit in every UPC — helps to catch errors like typos and provide some degree of confidence that you're actually dealing with a UPC.
EAN codes are similar. Though they have 13 digits, they too have a final check digit to help weed out errors.
Just because it validates...
...doesn't mean that it is an active UPC!
That's right; a lot of 12digit (and 13digit) numbers will “validate” as a UPC (or EAN), but that doesn't mean the code has actually been assigned to a product. That said, if it validates the number could be assigned in the future, so it may wind up on a product someday.
If you're wondering what product a particular number is associated with — if any — you can always plug it into our search form to check against our database of millions of UPCs.
How UPC Validation Works — An Example
Let's break down the logic for validating a UPC. For an example,
we'll use the code 829576019311
.
One (1
) is the check digit in this case.
With the following 5 steps we will confirm this UPC is valid:

Take all of the oddposition digits —
the 1st, 3rd, 5th, 7th, 9th, and 11th digits — and add them together.
8 + 9 + 7 + 0 + 9 + 1 = 34

Multiply the result of step 1 (
34
) by the number3
.
34 * 3 = 102

Now, take all of the evenposition digits (positions 2, 4, 6, 8 and 10),
and add them together.
2 + 5 + 6 + 1 + 3 = 17

Take the sum of the results from steps 2 and 3.
102 + 17 = 119

The check digit is calculated by figuring out what number needs to be added to the
result of step 4 in order to make it a multiple of 10.
119 + 1 = 120
Therefore, the check digit for this UPC barcode is 1
.
Example EAN Validation
Validating an EAN is very similar; we're just dealing with one additional digit.
For this example, we'll use the code 5900049003619
.
Here are the 5 steps to validate this EAN code:

Take all of the oddposition digits (exluding position 13, since this last
number is the check digit), and add them together.
5 + 0 + 0 + 9 + 0 + 6 = 20

Now, take all of the evenposition digits (positions 2, 4, 6, 8, 10, and 12),
and add them together.
9 + 0 + 4 + 0 + 3 + 1 = 17

Multiply the result of step 2 (
17
) by the number3
.
17 * 3 = 51

Take the sum of the results from steps 1 and 3.
20 + 51 = 71

The check digit is calculated by figuring out what number needs to be added to the
result of step 4 in order to make it a multiple of 10.
71 + 9 = 80
Therefore, the check digit for this EAN barcode is 9
, and we confirm
that 5900049003619
is a valid EAN.