You list a new product on a marketplace and the form refuses it: GTIN is invalid. The number looks right. It came from your supplier's spec sheet. The thirteen digits even tally up to what was on the printed barcode. So what does "invalid" mean — and what exactly is a GTIN in the first place?
GTIN stands for Global Trade Item Number. It is the number behind every UPC, EAN, ITF-14 and ISBN you have ever scanned. The barcode on the package is just packaging for the number — the GTIN itself is what ties a physical product to its master data in retailer systems, marketplaces and supply-chain feeds. Get the GTIN right and every downstream lookup works. Get it slightly wrong and you spend the rest of the afternoon wondering why one product is suddenly two SKUs.
A number, not a barcode
The single most useful distinction in this whole topic is between the GTIN and the symbol that prints it. A GTIN is a sequence of digits. A barcode is a way of drawing that sequence so a scanner can read it. The same GTIN can wear several different uniforms — twelve-digit UPC-A on a US shelf, thirteen-digit EAN-13 on a UK shelf, fourteen-digit ITF-14 on the outer case, and a GS1 Digital Link URL inside a 2D code on the consumer pack — and it's still one number.
50123456789005012345678900 — a GTIN-13, printed here as an EAN-13 barcode.That mental model — GTIN as identity, barcode as packaging — keeps you out of trouble when teammates use the words interchangeably. If a retailer asks for "the barcode", they almost always mean the GTIN. If a supplier sends you a CSV of GTINs, they may or may not include the GTIN-14 case form alongside the consumer-pack GTIN-13. Knowing they're the same number in different lengths is the difference between matching products and accidentally duplicating them.
Anatomy of a GTIN
A GTIN is built from three parts: a GS1 company prefix (assigned to you), an item reference (assigned by you), and a check digit (calculated). Take the GTIN-13 we opened with:
5012345678900
Assigned by GS1 to the brand owner.
5012345678900
Item reference assigned by the brand; final digit is the check.
The split point between prefix and item reference moves depending on your allocation. Large brands receive short prefixes (sometimes only six digits) which leaves them room for hundreds of thousands of item references. Smaller brands receive longer prefixes and get fewer references in return. You don't need to know where the split sits to read or store a GTIN — you treat the whole number as opaque — but it's useful to know it's in there.
The four lengths
GTIN comes in four lengths, all valid, all globally unique, all defined by GS1. The length you end up with depends on the company prefix you were issued and the packaging level you're identifying.
03600029145212 digits · the US-Canadian retail tradition.
501234567890013 digits · the global retail default.
1061414100041514 digits · cases and cartons, with an indicator digit at the front.
963850748 digits · separate GS1 allocation for tiny packs.
GTIN-12 and GTIN-13 identify the consumer unit you scan at a till. GTIN-14 identifies a packaging hierarchy above that — the case of six, the carton of twenty-four — and its leading digit (the "indicator") tells you the level. GTIN-8 is reserved for items where there simply isn't room for thirteen digits of bars, like individually-wrapped sweets and electronic component packs.
For deeper coverage of why UPC-A and EAN-13 are different in the first place, see the UPC vs EAN guide. For the spec-level reference to symbology behaviour, see the barcode formats field guide.
How the check digit works
The trailing digit of every GTIN is calculated from the others by a single mod-10 rule. It's the same algorithm for GTIN-8, 12, 13 and 14 — which is why one validator handles them all. Here's the math for 5012345678900, walked through end-to-end:
- Take the body — the digits without the trailing check —
501234567890. - Read it right-to-left and multiply each digit alternately by 3 and 1, starting at 3:
0×3 + 9×1 + 8×3 + 7×1 + 6×3 + 5×1 + 4×3 + 3×1 + 2×3 + 1×1 + 0×3 + 5×1= 0 + 9 + 24 + 7 + 18 + 5 + 12 + 3 + 6 + 1 + 0 + 5 = 90. - The check digit is whatever brings that sum to the next multiple of ten. 90 is already a multiple of ten, so the check digit is
0. Append it to the body and you have a full GTIN-13:5012345678900.
You don't have to do this on paper. Paste the same value into the GTIN Validator and it'll confirm the length class and the check digit in one step:
Validate any GTIN-8 / 12 / 13 / 14 against its mod-10 check digit.
When you're building GTINs from a new company prefix — say you just received the prefix 501234 and want to mint item reference 56789 — the Check Digit Calculator gives you the trailing digit straight away:
Compute the correct mod-10 check digit for a partial GTIN body.
Storing GTINs without losing them
The single biggest source of GTIN bugs has nothing to do with GS1 and everything to do with how the digits end up in a database. Two rules of thumb cover most of the failure modes:
- Store every GTIN as a 14-character string, left-padded with zeros. A GTIN-12 of
036000291452goes in as00036000291452. A GTIN-13 of5012345678900goes in as05012345678900. One column, one length, no ambiguity. You can render the shorter form for display or printing whenever you need to. - Validate the check digit at the boundary. Any supplier feed, scanned input or free-text field gets verified before it is trusted. That catches transposed digits, stripped zeros and well-meaning spreadsheet auto-formatting in one pass.
When you receive a large supplier feed and want to verify every row at once, the Batch Barcode Tools page runs the same validation against a pasted list and gives you a flagged CSV back. Drop a list of GTIN-13s into it before importing and the typos surface in seconds.
When you need a new GTIN
A common mistake when launching a product variant is to reuse an existing GTIN "because it's basically the same thing". Retailers and marketplaces actively police this and will reject listings. The rule from GS1 is conservative: anything a shopper would consider a different product needs a new GTIN. In practice that means:
- A different flavour, scent, colour or recipe needs a new GTIN.
- A different pack size (250 g vs 500 g) needs a new GTIN.
- A different packaging hierarchy (single can vs case of six) needs a new GTIN — usually a GTIN-14 with an indicator digit.
- A different language on the pack typically does not need a new GTIN.
- A promotional sleeve over the same product does not need a new GTIN.
Frequently asked
Is a GTIN the same as a barcode?
No. A GTIN is a number — the global identifier for a product. A barcode is a visual symbol that encodes that number. The same GTIN can be printed as UPC-A, EAN-13, ITF-14 or carried inside a GS1 Data Matrix; it's still one GTIN.
Where do I get a GTIN from?
From your local GS1 member organisation. They allocate you a company prefix, and you assign the remaining digits to each of your products. Buying GTINs from resellers is risky — retailers increasingly require GS1-issued company prefixes for listing.
What's the difference between GTIN-12, 13 and 14?
GTIN-12 is a UPC-A. GTIN-13 is an EAN-13. GTIN-14 is the packaging/case hierarchy variant — same underlying product, but the leading digit (the indicator) signals 'case of N units'. All four lengths are GTINs and can be stored in a single 14-digit column.
How is the check digit calculated?
It's a mod-10 calculation: multiply alternating digits by 3 and 1 (right-to-left, starting at 3), sum them, and take the digit that brings the total to the next multiple of 10. Our Check Digit Calculator does the maths for you.
Can a single product have more than one GTIN?
A consumer unit has one GTIN. A case of 6 of them has a different GTIN (typically a GTIN-14). A different flavour or pack size needs a separate GTIN. Don't reuse a GTIN across substantially different product variants — search engines and retailers will reject duplicates.