SKU vs UPC vs GTIN: which identifier goes where (and when to buy one)
SKU vs UPC vs GTIN explained: what each identifier does, who needs to buy GS1 barcodes, and where every number goes in your Shopify catalog.
InventoryX is in development and not available today. ClearStock is the live Shopify app.
The SKU is your private name for a variant. The GTIN is the world's public number for the same product. The barcode is just the printed picture of that number. Nearly every identifier mix-up — including the classic one of typing your SKU into Shopify's barcode field and wondering why scanners shrug — comes from treating these layers as one thing. Here's the full taxonomy, who actually needs to buy numbers from GS1, and where each identifier lives in Shopify.
The four identifiers, in one table
| Identifier | What it is | Who issues it | Format | Example |
|---|---|---|---|---|
| SKU | Your internal code for one variant | You | Anything consistent | HRNS-TRX-M |
| UPC / EAN | The standard retail barcode number: 12 digits (UPC) in North America, 13 digits (EAN) nearly everywhere else | A brand holding a licensed GS1 prefix | 12 or 13 digits | 012345678905 / 0012345678905 |
| GTIN | The umbrella family these numbers all belong to: GTIN-12 (UPC), GTIN-13 (EAN), GTIN-14 (case/carton level) | Same GS1 system | 8–14 digits | The UPC above is a GTIN-12 |
| Barcode | The printed image a scanner reads | Generated from the GTIN | Black-and-white pattern | The stripes on the packaging |
One clarification that saves confusion: an EAN-13 with a leading zero is the same number as its UPC-12 form — the systems are one system, viewed at different widths. Books ride it too: an ISBN-13 is a GTIN-13, which is why a book's barcode looks like every other barcode.
How they stack
One variant equals one SKU, always. Its retail barcode number is one GTIN. The relationship in practice:
- A dog harness in three sizes is three variants —
HRNS-TRX-S,HRNS-TRX-M,HRNS-TRX-L— and, if you buy barcodes, three separate GTIN-12s. A GTIN identifies a specific product configuration, not a brand and not a product line. - Sell the same harness as a 6-pack case to wholesale accounts, and the case gets its own number — a GTIN-14 — so a shop's scanner can ring the case without counting six singles.
- The barcode image is downstream of the number: you generate the printed pattern from the GTIN. Printing a barcode of your SKU produces a scannable picture of a number no outside system can resolve, which is why the mistake goes unnoticed until a scanner is involved.
So a single physical product can carry up to three meaningful identifiers at once: your SKU on the shelf tag, the GTIN under the printed stripes, and the Shopify variant record quietly holding both.
Who actually needs to buy GS1 numbers
Buying numbers costs money and discipline — every variant needs its own, allocated from your prefix — so it's worth being precise about who's actually required:
- Retail doors that scan. Wholesale to independent shops, chain stores, department stores — their point-of-sale systems are built on GTINs, and many onboarding forms simply ask for one per variant.
- Channels with GTIN requirements in some categories. Some marketplaces and product-data systems require GTINs for certain listings. Requirements vary by channel and category, and they change — verify with each channel for your specific products before you buy anything (as of October 2026).
- Everyone else: nobody. Shopify doesn't require barcodes to sell (as of October 2026). A direct-to-consumer store shipping its own orders can run on SKUs alone indefinitely.
The decision rule: buy GS1 numbers when a channel that scans demands them, not before. Pre-buying a block for a wholesale plan that never lands is money and upkeep for nothing.
The GS1 route vs resellers
Two ways numbers reach the market, with a real trade-off between them:
The GS1 route. GS1 US (gs1us.org) licenses your company a prefix; you allocate numbers from it, one per variant, and the prefix verifies as yours in any check a retail partner runs. This is the route their onboarding and data systems are built around.
Resellers. A resale market exists for barcode numbers issued under someone else's prefix — usually cheaper and faster to start. The honest risk: because the prefix traces to another company, some retail partners and data checks reject these numbers, and the failure surfaces late — reprinting packaging or re-issuing numbers for a product already on shelves. Plenty of stores use resold numbers for years without a problem; the exposure is real but not automatic.
The middle path for a small brand: license the smallest GS1 US prefix tier, allocate numbers as variants launch, and treat it as per-product infrastructure. Tiers and pricing change; check gs1us.org for current terms (as of October 2026).
Where each identifier goes in Shopify
Shopify gives every variant two identifier fields, and the split maps exactly to the taxonomy:
- SKU field → your internal code. This is what your team reads on shelf labels, counts, and POs. What a SKU fundamentally is lives in the SKU explainer; designing a scheme that survives growth is the SKU naming guide.
- Barcode field → the GTIN, as digits. A variant can hold more than one barcode — a UPC and an EAN for the same product, for instance (Shopify Help Center, accessed October 2026). Enter the digits; the printed image is generated from them downstream.
- Scanning resolves the barcode field. Scan a UPC at Shopify POS and the match runs against the barcode field — typing a SKU into search works too, but a physical scan resolves barcode digits. A SKU pasted into the barcode field means the scan finds nothing, because the digits on the packaging don't match what's stored. The scanning setup itself is the barcode inventory guide.
The most common catalog bug in this area is a half-migrated one: some variants carry real GTINs, some carry SKUs pasted into the barcode field, some carry nothing. Scanning then works aisle by aisle until someone finally notices the pattern.
Which identifier goes where: the mini-flow
Run each product — not each channel — through this:
- Does anything scan this product? Retail doors, wholesale accounts, marketplaces with GTIN requirements in your category. If no to all: SKU only, leave the barcode field empty, stop here.
- License a GS1 prefix (gs1us.org) if you answered yes to any of them.
- Allocate one GTIN per variant — three harness sizes, three numbers.
- Enter the GTIN in the variant's barcode field and keep your SKU in the SKU field.
- Generate the printed barcode image from the GTIN — never from the SKU.
- Selling case packs wholesale? Give each distinct case pack its own GTIN-14.
- Before committing budget, verify each channel's requirements yourself — they vary and they change.
A worked example: one harness, three sizes, one case
| Item | Identifiers | Where they live |
|---|---|---|
| Trail harness, size S | SKU HRNS-TRX-S + GTIN-12 012345678905 |
SKU field + barcode field, variant 1 |
| Trail harness, size M | SKU HRNS-TRX-M + GTIN-12 012345678912 |
SKU field + barcode field, variant 2 |
| Trail harness, size L | SKU HRNS-TRX-L + GTIN-12 012345678929 |
SKU field + barcode field, variant 3 |
| 6-pack case for wholesale | GTIN-14 (indicator digit + the base number, check digit recalculated) | Printed carton label; a wholesale-only listing if you sell cases direct |
Three sizes, three GTINs — not one number for "the harness." A scanner can't tell sizes apart, and neither can a shop's reorder report, which is the whole reason the numbers exist at this grain.
When you need none of it
A coffee roaster selling subscriptions and one-off bags through its own storefront and a weekend market stand: no retail doors scanning, no marketplace listings with data requirements. Shopify requires no barcode (as of October 2026), and the SKU does all the work — counting, ordering, reporting. Buy numbers the season a wholesale account asks for them; adding GTINs later is filling in a field, not rebuilding a catalog.
Common questions
Is a UPC the same as a GTIN? A UPC is a GTIN-12 — one member of the GTIN family, which also includes the 13-digit EAN (GTIN-13) and the 14-digit case-level number (GTIN-14). GTIN is the umbrella term used across retail systems and documentation; UPC is the North American 12-digit version. Same number, different names by width.
Can I use my SKU as the barcode? Not for anything outside your own four walls. Scanners at retail doors and channel systems resolve GTINs; a barcode printed from your SKU encodes a number no external system can look up. Inside Shopify POS your SKU works for typed search, but the barcode field should hold the GTIN so physical scans actually match.
Do I need a barcode to sell on Shopify? No, as of October 2026 — both the SKU and barcode fields are optional, and a direct-to-consumer store can run indefinitely on SKUs alone. GTINs become necessary when a channel requires them: retail doors that scan, and some marketplaces or product datasets in certain categories. Verify each channel's current requirements yourself.
What's the difference between UPC and EAN? Length and geography: UPC-A is 12 digits, used in the US and Canada; EAN-13 is 13 digits, used nearly everywhere else. They're one system — an EAN-13 with a leading zero is the same number as its UPC form. Brands typically print whichever form their region's scanners expect.
How many GTINs does one product need? One per variant, plus one per distinct case pack if you sell wholesale. A harness in three sizes is three GTINs; add a 6-pack case and it's four. Numbers identify product configurations, so any change to size, colorway, or pack count means a new number.
Next step
Open ten of your best-selling variants and check the barcode field: real 12–13-digit GTINs, stray SKUs pasted in, or empty. That three-minute scan tells you which situation you're in — done, half-migrated, or nothing yet — and the mini-flow above is the order of operations from here. If the SKU side needs repair first, fix the naming scheme before buying any numbers.