GTIN / UPC / EAN Barcode Validator
DataValidate 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
- Enter the barcode number in the Barcode Number field โ spaces and hyphens are stripped automatically.
- Read the result card to see whether the checksum passed or failed.
- If it failed, check the details breakdown to see the expected check digit versus what you entered.
- Compare the number against the original packaging, label, or source database to find and fix the discrepancy.
- 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