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.
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.
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.
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.
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.
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.
KEY-V01 Well formed
The length is right and the check digit agrees with the digits before it.
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
| Key | AI | Identifies | Syntax |
|---|---|---|---|
| SSCC | 00 | one logistic unit — this pallet, this carton | N18, check digit |
| GLN | 410–417 | a party or a place | N13, 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.
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.
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.
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.
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.
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.
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.
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.