UPC/EAN Check Digit Calculator
Calculate or verify the check digit for any UPC-A, EAN-13, EAN-8, or GTIN-14 barcode number, with the GS1 mod-10 math shown step by step.
Enter the data digits to calculate the check digit (11 for UPC-A, 12 for EAN-13), or a complete code (12 / 13 digits) to verify it.
✓ As UPC-A data digits, the check digit is 2
Full code: 036000291452
GS1 mod-10 steps (weights 3 and 1, from the right):
Sum = 58 → check digit = (10 − 8) mod 10 = 2
Works for every GS1 code that uses the mod-10 scheme: UPC-A, EAN-8, EAN-13, GTIN-14, GLN, and SSCC. Card numbers use a different checksum — see the Luhn checker.
Frequently asked questions
How is a UPC check digit calculated?
Take the first 11 digits. Working from the right, multiply alternating digits by 3 and 1, sum the results, and the check digit is whatever brings that sum up to the next multiple of 10: (10 − sum mod 10) mod 10. The same GS1 mod-10 scheme covers EAN-8, EAN-13, GTIN-14, GLN, and SSCC.
What is the difference between UPC, EAN, and GTIN?
They are all GTINs (Global Trade Item Numbers) of different lengths: UPC-A is the 12-digit North American format, EAN-13 the 13-digit international one, EAN-8 a short version for small packages, and GTIN-14 adds a packaging-level digit for cases and pallets. A UPC-A is simply an EAN-13 with a leading zero.
Why does my barcode scan fail with a valid check digit?
The check digit only proves the number is internally consistent. Scanning problems usually come from print quality, size, or quiet-zone violations — and retail acceptance requires the GS1 prefix to be properly licensed to your company, which no calculator can verify.
Is this the same as the Luhn algorithm?
Close cousin, different weights: GS1 uses alternating ×3/×1 and sums the products; Luhn (used by card numbers) doubles alternating digits and subtracts 9 from two-digit results. A card number and a barcode with the same digits will generally have different check digits.