GS1 Barcodes & Valid GTINs for Shopify
LabelCraft - barcode labels for Shopify that print at exactly the size you set.
Every label prints at the size you set - measured, not approximate.
Overflow or a missing barcode always raises a visible warning before you print.
Modules snap to your printer's dots, so codes stay crisp and scan first time.
We never overwrite or reassign a product's existing barcode.
A barcode is only useful if it scans and if it is the right number. An EAN-13 with a wrong check digit, a UPC pasted into the wrong field, or the same code reused across two products will be rejected by Google Shopping, refused by Amazon, and ring up the wrong item at the till. This guide explains what a GTIN is, how its check digit works, why marketplaces are so strict about it, and how to check and fix every barcode in your Shopify store before a single label prints.
What is a GTIN, and what is an EAN-13?
GTIN stands for Global Trade Item Number — the GS1 standard product number that sits behind a retail barcode. The barcode symbol is just one way to print that number. The four common forms, by length:
- GTIN-13 (EAN-13) — the 13-digit global retail standard. “EAN-13” and “GTIN-13” are the same number.
- GTIN-12 (UPC-A) — the 12-digit North-American form. It is the same item as the GTIN-13 with a leading zero.
- GTIN-8 (EAN-8) — an 8-digit short form for very small packs where a full EAN-13 will not fit.
- GTIN-14 — a 14-digit code for cases and cartons, with a leading indicator digit for the packaging level.
Because the shorter forms nest inside the 14-digit space, Google, Amazon and most retailers treat a 12-digit UPC and a 13-digit EAN as the same kind of identifier. LabelCraft renders the correct symbol — EAN-13, UPC-A, EAN-8 or Code 128 — automatically from your product data.
The check digit: how one wrong number breaks a barcode
The last digit of an EAN-13 or UPC-A is not part of the product number — it is a checksum that lets a scanner catch a misread or a typo. GS1 computes it with a fixed rule:
- Take the data digits — every digit except the final one (the check digit).
- Reading right to left across those data digits, multiply them by 3, 1, 3, 1, … (the rightmost data digit is multiplied by 3).
- Add up the results.
- The check digit is (10 − (sum mod 10)) mod 10 — the number that makes the total a multiple of 10.
Example: the data digits 400638133393 sum to 89 by that rule, so the check digit is (10 − 9) = 1 and the full valid GTIN-13 is 4006381333931. Change that last digit to 4006381333930 and the barcode is broken — every scanner and marketplace will reject it. LabelCraft's Barcode check page spots exactly this and offers the corrected number, 4006381333931, as a one-click fix.
GS1 prefixes are not country-of-origin codes
The first two or three digits of a GTIN are the GS1 Prefix — they identify the GS1 Member Organisation that issued the number, for example 00–13 for GS1 US, 400–440 for GS1 Germany, or 690–699 for GS1 China.
- It is not a country of origin. A prefix only shows where the company licensed its numbers, not where the product was made — GS1 says so explicitly, and the popular “690 means made in China” claim has been repeatedly debunked.
- A company prefix is the licensed block. The full GTIN is your GS1 company prefix, plus an item reference you assign to each product, plus the check digit.
- LabelCraft keeps the prefix table current. The Barcode check page names the issuing organisation for each barcode and never flags a well-formed but unrecognised prefix as broken — only the ranges GS1 documents as non-retail.
Restricted and internal barcodes — keep these off Google Shopping
Some prefix ranges are reserved for codes that are not globally-unique retail products. They scan on your own system but collide with other companies' numbers anywhere else — and marketplaces refuse them:
- In-store / restricted distribution (starts with 2) — GTINs in the 20–29 band, and the 02x / 04x ranges, are reserved for codes a retailer assigns inside its own four walls, like weighed deli items. They scan at your own till but are not globally unique.
- Coupons (98 / 99) — the 981–984 and 990–999 bands identify coupons, not products.
- Books and serials (978, 979, 977) — 978 and 979 are ISBN “Bookland” prefixes for books (979 also covers printed music, ISMN); 977 is ISSN for periodicals. These are not ordinary retail GTINs.
- Refund receipts (980) — a special-purpose range, never a product code.
Why Google Shopping and Amazon reject invalid GTINs
Google Merchant Center treats the GTIN as the key that matches your offer to its catalog, so it checks the number hard. Get it wrong and the product is disapproved — it stops showing in Shopping ads and free listings until you fix it:
- Invalid value [gtin] — Google validates the check digit and the digit count. A wrong check digit, the wrong length, or stray characters get the offer disapproved until the number is corrected.
- Restricted GTIN — Google explicitly refuses GTINs that begin with 2 (the 20–29 band), 02x or 04x, or the coupon 98 / 99 bands, because they are not globally-unique retail identifiers.
- Duplicate or omitted identifiers — submitting one GTIN on several different products, or leaving out a GTIN the manufacturer assigned, can suppress the listing. Amazon likewise needs a valid UPC / EAN / GTIN to create most listings.
- GTIN exemption — genuinely identifier-free products (handmade, your own private label, custom one-offs) can be marked as having no manufacturer barcode so Google and Amazon do not demand one. Do not use it to hide a broken GTIN — fix the number instead.
How merchants end up with invalid GTINs
- Pasting a 12-digit UPC into a 13-digit barcode field (or the reverse) without adding the leading zero — the length and check digit no longer match.
- A single typo, or a dropped digit, anywhere in the number — most often in the check digit itself.
- Reusing one barcode across several variants (sizes, colours). GS1 assigns one GTIN per distinct product, so a shared code is a collision.
- Inventing sequential or random “barcodes” that were never issued by GS1 — they are not globally unique and often land in a restricted or unassigned range.
- Leading-zero loss in spreadsheets: Excel and Google Sheets silently strip a leading 0, turning a valid 0123… code into a shorter, invalid one.
Check and fix every Shopify barcode with LabelCraft
LabelCraft's Barcode check page audits every variant's barcode against all of the rules above and turns the findings into one-click fixes:
- Wrong check digit — flagged with the corrected GTIN, and a one-click Fix check digits action writes the corrected number back to Shopify.
- Restricted / non-retail prefix — codes in an in-store, coupon, ISBN or ISSN range are surfaced so they never reach Google Shopping by accident.
- Missing barcode — Generate missing barcodes creates valid EAN-13 / GTIN-13s from your own GS1 company prefix, or internal Code 128 identifiers when GS1 is not required.
- Duplicate barcode — a code shared by two or more variants is detected across your whole catalog (something a one-barcode-at-a-time check cannot see), and Fix duplicate barcodes keeps one variant's code and re-codes the rest.
- A downloadable CSV report — export every problem barcode, with the plain-English fix and the corrected GTIN, to share with a supplier or work through in a spreadsheet.
Every check runs on a single read-only page, with a dry-run preview before anything is written and zero impact on your monthly label quota — previews and audits never count against it. Nothing fails silently: each barcode comes back with a plain-English explanation.
Getting real GS1 barcodes
If a product genuinely needs a globally-unique retail barcode, there is only one source — GS1:
- A GS1 company prefix — an annual licence that gives you a block of numbers for many products (and the room to make your own case codes, coupons and locations). Buy it from your national GS1 office, such as GS1 US.
- A single GTIN — GS1 also sells individual numbers for a small one-time fee, aimed at sellers who only need a handful of codes.
- A restricted prefix, used knowingly — for items you will only ever scan on your own system and never list on a marketplace, an in-store (20–29 / 02x / 04x) code is fine — just do not submit it to Google or Amazon.
Install free — 200 labels per month →
Not sure whether a barcode in your store is valid? Contact LabelCraft support — we respond within one business day.
Related guides
- Shopify Barcode Labels — Complete Guide
- Shopify barcode label FAQ
- Print Shopify Barcode Labels When Your Products Have No Barcode Yet
- How to Add Barcodes to Shopify Products in Bulk
- SKU vs Barcode in Shopify — What's the Difference and Do You Need Both?
- Where to Get UPC/EAN Barcodes for Shopify — GS1 vs Resellers, and What You Actually Need
- Free barcode generator for Shopify
- The GTIN check digit, and why your barcode won't scan without it
- My barcode is invalid - how do I fix the check digit?
- Find and fix duplicate barcodes in Shopify
- Shopify barcode types: which format should you print?
- What country is a barcode from? GS1 prefixes explained
- Restricted & in-store barcodes: why they scan at your till but get rejected
- QR Code & Data Matrix Labels for Shopify
- UPC vs EAN-13 vs GTIN-14: is my 12-digit code the same item?
- Barcode lost its leading zero in Excel - get the UPC back
- What Can a Label App Read in Your Store?