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.

EN · FR · DE · ES
The guarantees behind every label
Exact to ±0.1 mm

Every label prints at the size you set - measured, not approximate.

Never a silent failure

Overflow or a missing barcode always raises a visible warning before you print.

Whole-dot barcodes

Modules snap to your printer's dots, so codes stay crisp and scan first time.

Your barcodes, untouched

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:

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