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.
| Format | Rules checked |
|---|---|
| EAN-13, EAN-8, UPC-A, ITF-14 | Digits only, exact length (13, 8, 12 or 14), and the GS1 mod-10 check digit. |
| UPC-E | 8 digits, number system 0 or 1, and a check digit calculated from the expanded UPC-A number. |
| ITF | Digits only and an even number of them. Plain ITF has no check digit. |
| Code 128 | Every character must be standard ASCII. Its check character is inside the bars, so it can't be checked from text. |
| Code 39 | Capital letters, digits, space and - . $ / + % only, plus the optional mod 43 check character if you say one is present. |
| Code 93 | The same character set as Code 39. Its two check characters are inside the bars, not in the text. |
| Codabar | Digits and - $ : / . +, with start and stop letters A–D either both present or both absent. |
| MSI | Digits only, and the check digits for the scheme you choose (Mod 10, Mod 10+10, Mod 11, Mod 11+10 or none). |
| Pharmacode | A whole number from 3 to 131070. There's no check digit. |
What a valid result can't tell you
- Whether the number is registered. A GTIN can have a correct check digit and still not be licensed from GS1 or assigned to any product.
- What the product is. Barcode numbers don't contain product names or prices; those live in the retailer's or manufacturer's database.
- Whether a printed barcode will scan. Print size, bar quality, colours and the quiet zone all matter. Scan a printed test with the Barcode Scanner.
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.