GS1 Key Validator

Every GS1 key that is not a product code: the SSCC on a pallet label, the GLN that names a place, and the eight others — returnable assets, service relations, documents, consignments, shipments, coupons and model numbers. Paste one or a whole column.

🔒 Your data never leaves your browser.

Auto covers SSCC and GLN; the other eight keys share lengths, so pick the one you mean.

A GLN and a GTIN-13 are the same shape

Both are thirteen digits. Both carry the same Mod-10 check digit. Both are issued from the same pool of GS1 prefixes. Nothing in the digits tells you whether the number identifies a product or a place — only the field it sits in does.

This matters because plenty of online validators will confidently announce "valid GTIN-13" at a warehouse GLN, and someone downstream believes it. So for thirteen digits this page shows you both readings and tells you which question to ask, rather than picking one and sounding sure.

Seventeen digits is not a typo

An SSCC is eighteen digits and very often starts with a zero. Open the column in a spreadsheet, let it be treated as a number, and the zero is gone — leaving seventeen digits and a value no receiving system will accept. When restoring the zero produces a correct check digit, this page says so and gives you the number back.

The first digit is not a packaging level

A GTIN-14 opens with an indicator digit that encodes a packaging level: 1 for an inner pack, 2 for a case, and so on. An SSCC also opens with a single digit, and it looks like it should mean the same thing. It does not — it is an extension digit, chosen freely by the issuing company purely to enlarge its serial number space. Reading logistics meaning into it is a mistake this page calls out every time.

What this tool will not do

It will not split the number into "company prefix" and "serial reference". A GS1 Company Prefix is somewhere between 7 and 12 digits, and where it ends is recorded in GS1's registry — not in the number. A split we cannot know is a split we would be inventing, so we point you at GEPIR instead.

Every check this tool runs (12 rules)

KEY-C01 Check digit is wrong

SSCC and GLN both end in a GS1 Mod-10 check digit computed over the preceding digits. A mismatch means a digit is wrong somewhere in the number — it is not a formatting quibble, and the receiving system will reject it.

Fix: Use the expected check digit shown, or re-key the number from the source label.

Source: GS1 — How to calculate a check digit manually

KEY-L01 Wrong length for this key

An SSCC is exactly 18 digits and a GLN exactly 13. Unlike a GTIN, neither has shorter variants, so a different length is not a different format — it is a damaged value.

Source: GS1 — How to calculate a check digit manually

KEY-L02 One digit short — a leading zero was probably eaten

An SSCC very often begins with 0, and a spreadsheet treating the column as a number silently drops it, leaving 17 digits. Seventeen digits is almost never a typo; it is almost always this.

Fix: Restore the leading zero and format the column as Text before re-exporting.

Source: That spreadsheets drop leading zeros from numeric cells is documented by Microsoft; the SSCC length itself comes from the GS1 General Specifications.

KEY-A01 The AI (00) prefix came along with the number

The value starts with the application identifier 00, which introduces an SSCC inside a GS1-128 barcode but is not part of the SSCC itself. Scanners and EDI files often carry it; databases should not.

Fix: Store the 18 digits that follow the AI, not the AI itself.

Source: GS1 — How to calculate a check digit manually

KEY-E01 The first digit is an extension digit, not a packaging level

An SSCC opens with an extension digit the company assigns freely to enlarge its serial capacity. It carries no meaning. This is worth stating because the visually similar GTIN-14 opens with an indicator digit that DOES encode a packaging level, and the two get confused in exactly this position.

Source: GS1 — How to calculate a check digit manually

KEY-X01 A GLN and a GTIN-13 are indistinguishable as numbers

Both are 13 digits, both carry the same Mod-10 check digit, and both are issued from the same GS1 prefix pool. Nothing in the digits says whether this identifies a trade item or a location — only the field it sits in does. Any tool that announces "this is a GLN" from the digits alone is guessing.

Fix: Decide from the context: a party or place field means GLN, a product field means GTIN-13.

Source: GS1 — GS1 Company Prefix

KEY-G01 Where the company prefix ends cannot be read off the number

A GS1 Company Prefix is 7 to 12 digits, and the boundary between it and the reference that follows is recorded only in GS1’s registry. So this tool does not split the number into "company prefix" and "serial reference" — a split it cannot know is a split it would be inventing.

Fix: Look the number up in GS1 GEPIR if you need the licensee and the true prefix length.

Source: That a GS1 Company Prefix is 7–12 digits long, and that its length is not derivable from the number itself, is stated in the GS1 General Specifications; the boundary is resolvable only through GS1’s GEPIR registry, not by inspection.

KEY-P01 Prefix range and its GS1 member organisation

The leading digits fall in a range administered by a national GS1 member organisation. As with GTINs this indicates where the number was ISSUED, not where anything is made or located — a company can license a prefix in one country and operate anywhere.

Source: GS1 — GS1 Company Prefix

KEY-P02 Issued from a restricted-circulation range

The number falls in a range GS1 reserves for internal use within one company or store. Such numbers are not globally unique, so they must not travel outside the organisation that made them up — in an EDI message to a trading partner they can collide with someone else’s.

Fix: Use a number issued from your licensed GS1 Company Prefix for anything that leaves your own systems.

Source: GS1 — GS1 Company Prefix

KEY-Z01 Looks like a placeholder rather than a real number

The digits are all zero, all the same, or a simple run. Such a value normally passes the check digit only by accident and signals a field that was filled to satisfy a validator rather than to identify anything.

Source: Own engineering rule, not an external specification: derived from patterns seen in real feeds.

KEY-R01 An SSCC identifies one specific shipping unit, once

Each SSCC labels an individual logistic unit — this pallet, this carton — and GS1 requires that a value not be reused for at least 12 months after it ships. Reusing SSCCs across shipments is a common home-grown mistake that makes ASNs ambiguous.

Source: GS1 — How to calculate a check digit manually

KEY-V01 Well formed

The length is right and the check digit agrees with the digits before it.

Source: GS1 — How to calculate a check digit manually

Check digit and structure only. Whether a well-formed number is actually licensed to anyone is a GEPIR question, not a maths question.

About these rules. Each one has an identifier, a severity and a plain-English explanation. Every source link is registered and re-checked against the live page rather than linked from memory; this tool's sources were last re-verified on 23 August 2026. How rules are written, tested and kept current →

The ten GS1 keys this tool knows

KeyAIIdentifiesSyntax
SSCC00one logistic unit — this pallet, this cartonN18, check digit
GLN410–417a party or a placeN13, check digit
GRAI 8003 a returnable asset — a crate, keg, pallet or roll cage that comes back N1,zero N13,csum [X..16]
GIAI 8004 one specific asset — this laptop, this forklift, this machine X..30
GSRN 8017 / 8018 a service relationship — 8018 the recipient (a patient, a member), 8017 the provider N18,csum
GDTI 253 a document type — a licence, a certificate, a tax form N13,csum [X..17]
GINC 401 a consignment — goods handed to a freight forwarder as one lot X..30
GSIN 402 a shipment — one or more logistic units delivered together N17,csum
GCN 255 a coupon offer N13,csum [N..12]
GMN 8013 a product model — and for EU medical devices, the Basic UDI-DI X..25,csumalpha

Two of them — GIAI and GINC — have no check digit at all. Any string of up to 30 characters is structurally valid, so nothing about the number can tell you it was mistyped. One of them, GMN, ends in two check characters rather than a check digit, and it doubles as the Basic UDI-DI for EU medical devices.

What the extended keys are checked against

XKEY-L01 Wrong length for this key

Each GS1 key has a length fixed by the specification: GSRN is 18 digits, GSIN 17, GRAI 14 (a leading zero plus 13), GDTI and GCN 13 before their optional serial. A different length is not a formatting preference, it is a different number.

Fix: Check where the value was copied from — a truncated column and a dropped leading zero look identical afterwards.

GS1 Barcode Syntax Dictionary ↗

XKEY-C01 Check digit does not match

GRAI, GSRN, GDTI, GCN and GSIN all end their numeric part with a GS1 Mod-10 check digit computed over the preceding digits. A mismatch means a digit is wrong somewhere in the number.

Fix: Re-key from the source. The expected digit is given, but a wrong check digit usually means an earlier digit slipped.

GS1 Barcode Syntax Dictionary ↗

XKEY-C02 Check character pair does not match

A Global Model Number ends with TWO check characters, not a check digit — computed with prime weights modulo 1021 and drawn from GS1 character set 32 (which omits I, O, 0 and 1 because they are misread). This is the algorithm most home-grown implementations get wrong, and for EU medical devices the GMN is the Basic UDI-DI.

Fix: Recalculate the pair from the model number itself; this tool shows the expected characters.

GS1 Barcode Syntax Dictionary ↗

XKEY-F01 Character outside the allowed set

Numeric keys take digits only. Alphanumeric keys (GIAI, GINC, GMN, and the serial part of GRAI or GDTI) take GS1 character set 82 — letters, digits and a limited set of punctuation. A space or a currency symbol is not in it.

GS1 Barcode Syntax Dictionary ↗

XKEY-Z01 GRAI must begin with a zero

The syntax for AI (8003) is a literal zero followed by the 13-digit asset type and its check digit. The zero is not padding: it is part of the defined structure, and encoders that strip it produce a value receiving systems reject.

Fix: Put the leading zero back.

GS1 Barcode Syntax Dictionary ↗

XKEY-S01 Serial part is too long

The optional serial that follows GRAI, GDTI or GCN has its own maximum — 16, 17 and 12 characters. Exceeding it makes the whole element string invalid, not just the serial.

GS1 Barcode Syntax Dictionary ↗

XKEY-N01 This key has no check digit at all

GIAI and GINC carry no check digit: any string of up to 30 characters from GS1 character set 82 is structurally valid. Nothing about the number itself can tell you it was mistyped, so these two are the keys where a typo travels furthest.

Fix: Where correctness matters, verify against the system that issued the number rather than against its shape.

GS1 Barcode Syntax Dictionary ↗

XKEY-A01 Value carried its application identifier

The value began with the AI that introduces this key, as it appears inside a barcode or an EDI message. The AI is not part of the key and should not be stored with it.

GS1 Barcode Syntax Dictionary ↗