Homeโ€บValidatorsโ€บDataโ€บGTIN / UPC / EAN Barcode Validator

GTIN / UPC / EAN Barcode Validator

Data

Validate UPC-A, EAN-8, EAN-13, and GTIN-14 barcode numbers with GS1 checksum verification. Paste any retail barcode number to instantly check it.

What is a GTIN/UPC/EAN?

A GTIN / UPC / EAN Barcode Validator checks whether a retail product barcode number is correctly formed by verifying its built-in check digit. GTIN (Global Trade Item Number) is the umbrella standard GS1 uses for all of these formats โ€” UPC-A (the 12-digit code standard in North America), EAN-8 and EAN-13 (8 and 13-digit codes used internationally), and GTIN-14 (used for shipping cartons and cases). Every one of these formats embeds a check digit calculated from the other digits, which makes it possible to catch a mistyped or corrupted number without needing to look it up anywhere.

This validator detects which format you've entered based on its length, recalculates the expected check digit, and tells you immediately whether the number is valid. It complements the ISBN Validator, since ISBN-13 numbers are themselves EAN-13 barcodes using the same underlying checksum.

How to use this GTIN/UPC/EAN calculator

  1. Enter the barcode number in the Barcode Number field โ€” spaces and hyphens are stripped automatically.
  2. Read the result card to see whether the checksum passed or failed.
  3. If it failed, check the details breakdown to see the expected check digit versus what you entered.
  4. Compare the number against the original packaging, label, or source database to find and fix the discrepancy.
  5. Re-enter the corrected number to confirm it now passes.

Formula & Methodology

All GS1 barcode formats use the same check digit algorithm, regardless of total length:

Check Digit = (10 โˆ’ (ฮฃ weighted digits mod 10)) mod 10

where each digit (excluding the check digit itself) is weighted 3 if its position counting from the right is odd, and 1 if even.

Worked example: for the UPC-A number 036000291452, the payload is 03600029145 and the check digit is 2.
- Weighting from the right: 5ร—3 + 4ร—1 + 1ร—3 + 9ร—1 + 2ร—3 + 0ร—1 + 0ร—3 + 0ร—1 + 6ร—3 + 3ร—1 + 0ร—3 = 58
- Check digit = (10 โˆ’ (58 mod 10)) mod 10 = (10 โˆ’ 8) mod 10 = 2 โœ“ matches

Invalid example: 036000291450 fails, because the expected check digit is 2, not 0.

Frequently Asked Questions

GTIN (Global Trade Item Number) is the umbrella term GS1 uses for the family of retail product identifiers, which includes UPC-A (12 digits, common in North America), EAN-8 and EAN-13 (8 and 13 digits, common internationally), and GTIN-14 (used for cartons and trade units). All of them use the same underlying checksum structure, just with a different number of digits.
The validator first detects the barcode type based on its length โ€” 8, 12, 13, or 14 digits โ€” then recalculates the check digit using the standard GS1 algorithm and compares it to the last digit you entered. If they match, the number is correctly formed; if not, it flags exactly which check digit was expected.
Starting from the digit immediately to the left of the check digit, multiply each digit alternately by 3 and 1 moving right to left, sum the results, and the check digit equals (10 โˆ’ (sum mod 10)) mod 10. This single formula works identically across UPC-A, EAN-8, EAN-13, and GTIN-14 because they only differ in total length.
No โ€” a passing checksum only confirms the number is mathematically well-formed, not that it has actually been issued by GS1 or assigned to a real product. Verifying real-world registration requires looking the number up in GS1's official database, which this tool does not do.
UPC-A uses 12 digits and is the standard barcode format in the United States and Canada, while EAN-13 uses 13 digits and is the standard in most of the rest of the world, including Europe and India. A UPC-A code can be converted to EAN-13 by adding a leading zero, since EAN-13 was designed as a superset of UPC-A.
GTIN-14 is used to identify cartons, cases, or pallets containing multiple retail units, as opposed to the individual product itself. It follows the same check digit algorithm as the shorter formats, just with two additional leading digits for packaging-level identification.
Yes โ€” the validator automatically strips spaces and hyphens before checking the number, so you can paste a barcode exactly as it appears on packaging or in a spreadsheet without manually cleaning it up first.
The most common reasons are a typo in one of the digits, a missing or extra digit, or pasting a number that was never a valid GS1 barcode to begin with โ€” such as an internal SKU or a randomly generated test number. Double-check the number against the original packaging or database entry.
No โ€” the entire validation happens in your browser using JavaScript. The barcode number you enter is never transmitted to a server or stored.
The [ISBN Validator](/isbn-validator/) checks book identification numbers specifically, which for ISBN-13 actually use the exact same EAN-13 checksum algorithm this tool uses. This validator covers the broader family of retail and trade barcodes โ€” UPC-A, EAN-8, EAN-13, and GTIN-14 โ€” for any product, not just books.
Also known as
UPC validatorEAN-13 validatorbarcode checksum checkerGTIN checkerverify barcode numberEAN-8 validator