THE SHORT ANSWER

Validate a GTIN as text: preserve leading zeros, check its supported length, allow digits only, and calculate its check digit. Then verify assignment and product correspondence separately. Passing a checksum catches some transcription errors; it does not establish that the number belongs to the item you sell.

Preserve the identifier before checking it

A spreadsheet may interpret a GTIN as a number and remove leading zeros. That changes the identifier before your validator even sees it. Set identifier columns to text during import, export and database ingestion. Inspect a raw sample after each conversion rather than trusting the cell’s displayed formatting.

Keep the original value alongside any normalized representation. Removing display spaces or hyphens can be useful for a check, but other character changes deserve review. A validator should explain the normalization it performed so a user can distinguish formatting from a source correction.

Understand what the check digit tells you

Common GTIN structures contain 8, 12, 13 or 14 digits. Their final digit is calculated from the preceding digits with alternating weights. A mismatch is a useful signal that a character may have been mistyped, omitted or altered during handling.

A matching digit proves only that the arithmetic is consistent. Many unassigned or incorrectly associated numbers can pass the same calculation. Do not label a checksum result “product verified,” and never repair an uncertain identifier by simply replacing its final digit.

Check assignment and product correspondence

Use supplier evidence and GS1 verification where appropriate to establish who assigned the identifier and what it represents. Compare brand, model, pack size and the actual sellable variant. A correct number for a multipack is not necessarily correct for an individual unit.

When evidence conflicts, create an exception with the original source and a named owner. Avoid choosing whichever value happens to pass validation. The purpose of identifier quality is reliable product correspondence, not a cleaner-looking error report.

Design a useful bulk review

Group errors into actionable categories: unsupported length, non-numeric input, checksum mismatch, missing value and uncertain assignment. Different owners may resolve different categories. A source-system formatting issue can be fixed once; a supplier assignment question may require product-by-product evidence.

Recheck a corrected sample before reprocessing the entire catalog. Preserve identifiers as strings in any download you pass to colleagues. Record the source of a genuine correction so the next import does not silently restore the original mistake.

ILLUSTRATIVE WORKED EXAMPLE

Make it concrete.

Illustrative example: a spreadsheet changes 036000291452 into 36000291452. The team restores the source text representation and confirms it against supplier evidence. It does not pad every eleven-digit value automatically, because other rows may have different underlying errors.

Your practical checklist

  1. Import identifier columns as text.
  2. Check supported length, digits and checksum.
  3. Retain the original input before normalization.
  4. Verify assignment and variant correspondence separately.
  5. Fix source handling so the next import stays correct.
Download the one-page checklist ↗

Common questions

Does a valid check digit prove GS1 ownership?

No. Assignment and the relationship to the product require separate verification.

Should I calculate a replacement check digit for a failed GTIN?

Use the calculation to diagnose an error. Obtain the correct identifier from an authoritative source rather than manufacturing a plausible replacement.

Sources & scope

Official references checked 29 October 2026. Examples are illustrative, not customer results. Platform requirements can change; use current destination documentation for implementation decisions.

Our editorial method & corrections ↗