SKU vs Barcode in Shopify — What's the Difference and Do You Need Both?
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.
Shopify gives every variant both a SKU field and a barcode field, and they are easy to confuse. They are not the same thing and they do different jobs. Understanding the difference tells you exactly what to put where — and whether you need to buy anything before you can print scannable labels.
What is a SKU?
A SKU (stock-keeping unit) is an internal code you invent to identify a variant — something like TSHIRT-BLK-M. It is for your own organisation: stock counts, reports, picking. You choose the format, it only has to be unique within your store, and customers never need to see it. A SKU is plain text; it is not, by itself, something a barcode scanner reads.
What is a barcode?
A barcode is the scannable value — the number encoded into the bars a scanner reads, such as an EAN-13 or UPC-A retail code, or a Code 128 you assign yourself. In Shopify it lives in its own field, separate from the SKU. When LabelCraft prints a label, it is this barcode value that becomes the scannable symbol on the sticker.
Do you need both?
Almost always you want a SKU for your own tracking. Whether you also need a purchased barcode depends entirely on where you sell:
- Selling in your own store only — you need a scannable value, but it does not have to be a bought GTIN. A self-assigned Code 128 scans perfectly at your till and in receiving.
- Listing on Amazon, Walmart or Google Shopping — these require a real, registered GTIN (UPC/EAN) that you own through GS1.
- Wholesaling to other retailers — they usually scan a real GTIN at their own tills, so you need one too.
How LabelCraft uses each
You can print the SKU on a label as human-readable text, and the barcode as the scannable symbol — they are separate elements on the template. If a variant has no barcode value yet, Generate missing barcodes assigns one: a real GTIN-13 when you've entered a GS1 prefix, otherwise a unique internal-use Code 128. LabelCraft never silently prints a blank where a barcode should be — a missing value is flagged before the PDF downloads.
You don't have to buy GTINs for in-store labels
This trips up a lot of new merchants: you do not need to register with GS1 just to print shelf and till labels for your own shop. Generate an internal Code 128 and you can scan from day one. Buy a GS1 prefix only when an outside channel demands a genuine GTIN — and when that day comes, re-generate as GTIN-13s in one pass. See the GS1 barcode guide for what a valid GTIN looks like.
Install free — 200 labels per month →
Ready to add codes? See how to add barcodes in bulk, and if a printed code won't read, the barcode not scanning guide — or contact LabelCraft support.
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
- Where to Get UPC/EAN Barcodes for Shopify — GS1 vs Resellers, and What You Actually Need
- Free barcode generator for Shopify
- GS1 Barcodes & Valid GTINs 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?