Skip to content
ScanHatch

Barcode Validator

Choose a format and enter the number or text. You'll see whether it's valid and exactly which rule passes or fails.

13 digits, including the check digit.

Privacy: Checks run in your browser. Images and values aren't sent to ScanHatch or stored. Privacy policy

What each format is checked for

The validator only applies rules the format itself defines. Formats without a check digit are checked for structure alone.

FormatRules checked
EAN-13, EAN-8, UPC-A, ITF-14Digits only, exact length (13, 8, 12 or 14), and the GS1 mod-10 check digit.
UPC-E8 digits, number system 0 or 1, and a check digit calculated from the expanded UPC-A number.
ITFDigits only and an even number of them. Plain ITF has no check digit.
Code 128Every character must be standard ASCII. Its check character is inside the bars, so it can't be checked from text.
Code 39Capital letters, digits, space and - . $ / + % only, plus the optional mod 43 check character if you say one is present.
Code 93The same character set as Code 39. Its two check characters are inside the bars, not in the text.
CodabarDigits and - $ : / . +, with start and stop letters A–D either both present or both absent.
MSIDigits only, and the check digits for the scheme you choose (Mod 10, Mod 10+10, Mod 11, Mod 11+10 or none).
PharmacodeA whole number from 3 to 131070. There's no check digit.

What a valid result can't tell you

Spaces and hyphens

Numbers printed under barcodes are often grouped with spaces (like 4 006381 333931). For numeric formats, spaces and hyphens are ignored and you're told when that happens. For text formats such as Code 128 and Code 39, spaces are part of the data and are kept.