Tools/GTIN Validator
Free Tool

GTIN Validator

Check whether a barcode number is valid and verify its check digit. Works for UPC-A, EAN-13, EAN-8, and every GTIN format, and tells you which digit is wrong when one is.

Enter a GTIN-8, GTIN-12, GTIN-13, or GTIN-14 to validate.

Try:

The GS1 check digit uses a weighted sum algorithm (alternating x1 and x3 from right to left) to detect transcription errors. A single wrong digit will always be caught.

How GTIN validation works

Validating a GTIN is two checks, and neither one needs a database. First, the number has to be a length that GS1 actually defines. Second, its final digit has to match the value the mod-10 algorithm produces from all the digits before it. If both hold, the number is well-formed.

GTIN formatAlso calledDigits
GTIN-8EAN-88
GTIN-12UPC-A12
GTIN-13EAN-1313
GTIN-14ITF-14 / case code14

Anything of another length is not a GTIN, whatever it is printed under. Try 5901234123457 above and it passes; change the last digit to 0 and the same number fails, because the check digit no longer agrees with the twelve digits in front of it.

A valid GTIN is not a GTIN you own

This is the distinction that costs people the most time. The check digit proves the number is internally consistent. It says nothing about who the number was licensed to, and there is no arithmetic that could, because ownership lives in GS1 registration records rather than in the digits.

It matters because cheap barcodes resold from prefixes issued in the 1990s validate perfectly and are still refused by Amazon and Walmart, both of which check the number against GS1’s registry rather than against its check digit. A green result here means your number is well-formed. Only a licence from your GS1 Member Organisation means it is yours.

What a validator can and cannot tell you

If you arrived looking to look up a GTIN rather than check one, it is worth knowing what a number can and cannot reveal on its own. From the digits alone you can determine the format, whether the check digit holds, the GTIN-14 form, and which GS1 Member Organisation issued the prefix. You cannot determine the product, the brand, or the price, because none of that is encoded in a GTIN. A GTIN is a pointer, not a record.

To trace the prefix to its issuing organisation, use the GS1 prefix lookup. To attach real product data to a GTIN so that scanning it returns something, that is what a Digital Link resolver does.

Why a number fails

A spreadsheet ate the leading zeros
By far the most common one. Excel and Sheets read a GTIN as a number, so 0012345678905 is stored as 12345678905 and no longer matches any valid length. Format the column as text before you paste, not after.
Two digits are transposed
The check digit is designed to catch exactly this. When the validator reports a mismatch on a number you copied by hand, a swapped pair is the first thing to look for.
The number includes spaces or hyphens
Barcodes are often printed in grouped form for legibility. Only the digits are part of the GTIN, so strip everything else before checking.
It is a 13-digit number that is not an EAN
ISBN-13 uses the same check digit algorithm and will validate cleanly, but an internal SKU or a warehouse reference of the same length usually will not, because it was never built to carry one.

Have a valid GTIN? Generate a QR code for it.

Use our free QR code generator to create a GS1 Digital Link QR code from your GTIN - or sign up to host a live resolver that makes the code scannable.

Related tools and guides

Built by SunriseQR, an official GS1 US Solution Partner and hosted GS1 Digital Link resolver. Something not adding up? Get in touch.

Stuck on something?

Not sure this is the right tool? A real person answers every message.

Ask us