First check the error message
A structural GTIN checker verifies that a value has only digits, a supported length and the correct final check digit. It cannot know which company or product the identifier belongs to. Start with the single GTIN validator to see which mathematical check failed.
| Result | Likely cause | Next action |
|---|---|---|
| Unsupported length | Missing digit, truncated copy or lost leading zero | Check the source identifier against its barcode or product record |
| Invalid characters | Text, punctuation or formatting copied into the field | Keep only the intended digits; separators are not part of the identifier |
| Check digit mismatch | One or more digits are wrong | Recheck transcription and calculate the expected digit |
| Valid structure | Only format and arithmetic were confirmed | Verify assignment and product association separately when required |
Check digit mismatch
The last GTIN digit is a modulo-10 check digit calculated from the preceding digits. A mismatch means the number as entered is mathematically inconsistent. Do not automatically replace the final digit in a live product feed: another digit earlier in the number could be wrong.
4006381333932 → expected 1The final digit 2 makes this 13-digit example invalid. The known example 4006381333931 passes structural validation, but neither example establishes product ownership.
Use the GTIN check digit calculator to reproduce the arithmetic manually.
Leading zeroes can disappear in spreadsheets
UPC-A often carries a 12-digit GTIN, including any leading zero. Spreadsheet applications may interpret this as a number and remove initial zeroes, changing its text representation. Before exporting a CSV, format the identifier column as text and confirm the original digit count survives the export.
Systems may also store shorter GTINs in 14-character fields using leading filler zeroes. Such padding is a representation of the same identity, not a newly issued GTIN. A shorter value is not necessarily erroneous when the context expects the original format. Read the GTIN format comparison for details.
036000291452 → 00036000291452The left-hand 12-digit GTIN can be represented in a 14-character field with two filler zeroes; the check digit is unchanged.
Wrong length or unexpected characters
Complete GTINs have 8, 12, 13 or 14 digits, including the check digit. An 11-digit UPC-A data portion is not a complete GTIN-12: use the calculator to determine the final digit only when your actual source data legitimately omits it.
Do not confuse a barcode scanner prefix, separator or other symbology data with the GTIN. A GS1 Application Identifier element string can contain additional fields; for example, AI (01) labels a 14-digit GTIN value rather than becoming part of the identifier itself.
A valid check digit is not proof of a licensed GTIN
Structural validity is not a registry lookup. A mathematically valid number may still be unassigned, linked to another product or missing from a trading partner’s records. Marketplace feed errors can therefore persist even after a checksum passes. Check the applicable GS1 assignment records and marketplace requirements separately.
ProductPassKit does not issue numbers, check company ownership or certify any listing. Learn what a GTIN identifies before diagnosing a marketplace-specific mismatch.
Find repeated or invalid values across a product catalogue
If you have many entries, use the Bulk GTIN Validator to paste identifiers or import a CSV. It reports expected digits, invalid values, repeated inputs and 14-digit representations so you can review specific source rows. Preserve the original strings while investigating; the tool does not edit your master data automatically.
Sources and standards
Technical statements in this guide are grounded in current GS1 primary sources. The explanations are paraphrased for practical use.
- GS1 General SpecificationsOfficial rules for identifier formats and check digits.
- GS1: Global Trade Item NumberIdentifier definitions and context.
- GS1: GTIN, EAN and UPCDifference between identifiers and barcode symbols.