Local browser tool

GTIN, UPC and EAN validator

Check the numeric characters, supported length and final check digit of one identifier without sending it to a server.

Processed locally in your browser.

Validation runs locally and does not query GS1, a product catalogue, or an ownership registry. Application category: browser utility.

Validate one identifier

Enter a complete number including its final check digit.

Supported lengths: 8, 12, 13, 14 and 18 digits. Leading zeros are significant.

Result

Validation evidence

Character, length, and check-digit evidence are reported separately.

Enter a complete identifier to see validation evidence.

What this result means

The result separates three facts: whether the normalized value contains only digits, whether its length matches a supported identifier, and whether the entered final digit matches the GS1 Modulo-10 calculation. Possible types are reported rather than hidden behind a single valid or invalid label.

What this result does not mean

Structural validation does not prove that GS1 issued the number, that a particular company owns it, or that it identifies a real product. It also does not inspect a barcode image, grade a print, certify a symbol, or guarantee marketplace acceptance.

Validation method

The validator retains the original input, removes only approved whitespace and dash separators, detects candidates by length, then calculates the expected final digit. No prefix, allocation or registry inference is made.

  • GTIN-8 uses eight digits.
  • GTIN-12 / UPC-A uses twelve digits.
  • GTIN-13 / EAN-13 and GLN-13 both use thirteen digits.
  • GTIN-14 uses fourteen digits.
  • SSCC uses eighteen digits.

Worked examples

A supported value with a matching digit

95200002 has eight numeric characters. The body9520000 produces expected digit 2, which matches the entered final digit. This establishes check-digit structure only.

A recoverable final-digit mismatch

95200003 has the right characters and length, but its entered digit 3 differs from expected digit2. The tool proposes 95200002 and requires confirmation before copying it.

A normalized leading-zero value

01-2345 0000-58 is shown separately from normalized012345000058. The leading zero remains part of the identifier and the final digit matches.

TEST / SYNTHETIC / NOT FOR COMMERCIAL USE. These examples explain validation states and do not claim assignment or ownership.

Common errors

Spreadsheet formatting removed a zero
Restore the original text value before validating.
A letter or slash remains
Review it explicitly; the validator does not silently delete it.
The value has an unsupported length
Check for a missing or duplicated digit before trying another type.
The check digit differs
Recheck the entire source value. Confirm a suggested final digit only when you intend to change that one character.

Privacy and local processing

The value stays in the active page memory. It is not included in a URL, analytics event, console log, persistent store, or server request. A validation report is copied only after you press the copy button.

Sources and review

Logic reviewed 2026-07-13 against GS1 General Specifications 26.0.0 (January 2026), theGS1 check digit explanation, and official identifier-key descriptions. BarcodeOpsKit is an independent, non-affiliated utility.

Calculate a missing GTIN check digitor compare GTIN, UPC and EAN terminology. Theofficial GS1 GTIN overview remains the primary external reference.

Frequently asked questions

Is “check digit valid” the same as “registered”?

No. It means the final digit matches a mathematical rule. Registration and ownership require separate authoritative evidence.

Why are GTIN-13 and GLN-13 both possible?

They have the same length and check-digit formula. The digits alone do not reveal the intended identifier key.

Why must I confirm a suggested correction?

The validator can calculate a final digit, but it cannot know whether the preceding digits were entered correctly or were assigned to you.