What is a SKU number? The explainer for Shopify store owners
What is a SKU number? Your internal stock keeping unit code per variant — how SKUs differ from barcodes and serials, and how they work in Shopify.
InventoryX is in development and not available today. ClearStock is the live Shopify app.
A SKU number is a stock keeping unit — a short internal code you assign to each product variant so you can track, count, and report on inventory at the most granular level. It's called a "number" out of habit, but it's usually letters and digits mixed: MUG-GRN-12. Unlike a barcode, it isn't standardized or issued by anyone — you invent it, and it means whatever your business says it means.
That ownership is the whole point. A barcode tells the world which product this is; the SKU tells you which variant is on which shelf, selling at what rate, in which location.
SKU vs barcode vs serial number vs product ID
These four identifiers get confused constantly because they often appear on the same box. They answer different questions:
| Identifier | What it is | Who assigns it | Unique to | Example |
|---|---|---|---|---|
| SKU | Your internal stock code | You | Each variant, within your store | SHRT-BLU-M |
| Barcode (UPC/EAN/GTIN) | Standardized global retail code | GS1 (a paid, licensed registry) | Each product design, globally | 012345678905 |
| Serial number | Identifier for one physical unit | Manufacturer | Each individual unit produced | SN-2026-004821 |
| Product/variant ID | Database record number | Shopify (automatically) | Each product or variant in your admin | 7890123456789 |
The practical distinctions:
- SKU vs barcode: the barcode is for scanning the same product everywhere — any register, any retailer, any country reads a UPC identically. The SKU is for your internal operations: purchasing, counting, picking, reporting. Many products (especially manufactured ones) carry a manufacturer barcode, and you still add your own SKU in Shopify's separate SKU field — both can live on the same variant, and Shopify POS can search by either (Shopify Help Center, accessed October 2026). One nuance from the same doc: a variant can hold up to 20 barcodes in the Barcodes field, useful when a product has both a UPC and an EAN.
- SKU vs serial number: a serial number is one-per-physical-unit — every laptop off the line gets a different one. A SKU is one-per-product-type — every unit of the blue medium shirt shares
SHRT-BLU-M. If you sell serialized goods (electronics, machinery), you need both, and they serve different jobs: SKU for inventory math, serial for warranty and tracking. - SKU vs Shopify product ID: the ID is assigned by Shopify's database and never shown to your team; it exists so the platform can reference the record. It doesn't survive exports nicely, can't encode meaning, and isn't something you choose. The SKU is the human-facing layer — it's what your staff reads off a shelf label and what appears in your reports.
How SKUs work in Shopify
Shopify treats the SKU as a per-variant field, and several behaviors are worth knowing:
- Every variant gets its own SKU. A shirt in 3 sizes and 4 colors is 12 variants and should be 12 SKUs — one SKU per variant, and duplicates within the admin trigger a warning because they break tracking and integrations (per the Shopify Help Center, accessed October 2026). If you use Shopify Fulfillment Network, unique SKUs are required.
- SKUs are optional but load-bearing. Shopify works without them, but sales reports and analytics work best when every variant has a unique SKU, and many inventory apps sync off the SKU field. Reports can filter out products without SKUs, and SKUs added after an order was placed won't appear in that order's historical reporting — so retrofitting SKUs leaves a blind spot.
- Character guidance: Shopify recommends keeping SKUs short — no more than about 16 characters, with 4–8 workable for simpler catalogs — and avoiding spaces and special characters, which cause search problems. Dashes and underscores are fine as separators.
- Case matters. SKU matching is case-sensitive in integrations;
abc123andABC123are treated as different SKUs. Pick one case convention and enforce it. - Bulk editing: you can set or fix SKUs via the bulk editor or a CSV import — the product CSV's SKU column is the fast path when renaming a scheme (Shopify Help Center, accessed October 2026).
How to read a well-built SKU
A good SKU encodes the few attributes you actually sort by, in a consistent order, and nothing more. Decode this one:
APR-HDY-BLK-M→APR(category: apparel)-HDY(style: hoodie)-BLK(color: black)-M(size: medium)
The conventions that make SKUs readable years later:
- Most significant attribute first. Category or supplier, then style, then variant attributes. This makes SKUs sort into meaningful blocks in any spreadsheet or shelf label.
- Consistent abbreviations everywhere. If
BLKmeans black on one product, it means black on all of them — Shopify's own guidance says the same (Help Center, accessed October 2026). - Avoid lookalike characters. Skip
0/Oand1/Iconfusables where you can; the Help Center calls this out explicitly because misread SKUs become mis-picked orders. - Plan for growth. A format that works for 100 products can collapse at 1,000. Leave room in the attribute segments for new categories and new option values rather than retrofitting later.
For a full naming scheme with more patterns and migration steps, see Shopify SKU naming.
Where SKU discipline pays off
The SKU is the join key for almost everything operational:
- Reports. Sales by SKU is only as reliable as the SKUs behind it — duplicates and gaps corrupt the very reports you use for reordering decisions.
- Receiving and counts. Matching a delivery against a PO, or running a cycle count, happens at SKU grain.
APR-HDY-BLK-Mis unambiguous; "the black hoodie" isn't, once you stock it in two fabrics. Counting methods for working at this grain are in Shopify inventory counts. - Inventory tracking itself. Shopify tracks inventory per variant, and the SKU is how you and your team refer to that variant everywhere else — apps, spreadsheets, supplier emails. Whether and how Shopify tracks stock levels is covered in does Shopify track inventory.
- Picking and packing. Staff find the right product faster when every variant has a unique, human-readable code — one of the core benefits Shopify lists for using SKUs at all.
If your store has outgrown ad-hoc product setup, the SKU scheme is one piece of the larger structure — locations, tracking settings, cost data — covered in the Shopify inventory management guide.
Common questions
What does SKU stand for?
SKU stands for stock keeping unit — the internal code a business assigns to each distinct product variant for tracking inventory. It's called a "number" colloquially but is usually alphanumeric, like MUG-GRN-12. Each variant combination (size, color, style) gets its own SKU so inventory can be counted and reported at the most granular level.
Is a SKU the same as a barcode? No. A barcode (UPC/EAN, assigned through GS1) is a standardized global identifier that any retailer or register can scan; a SKU is your own internal code that only means something within your business. The same variant can carry both — Shopify has separate SKU and barcode fields, and POS can search by either one.
Do I need SKUs in Shopify? Shopify doesn't require them, but you should use them: unique SKUs per variant make sales reporting accurate, fulfillments faster, and third-party inventory apps possible — and they're mandatory if you use Shopify Fulfillment Network. SKUs added after orders were placed won't appear in historical reports, so set them up early rather than retrofitting.
How long should a SKU be? Short: Shopify recommends no more than about 16 characters, with 4–8 often enough for simpler catalogs. Use letters and digits with dashes or underscores as separators, avoid spaces and special characters, and skip lookalike characters like 0/O and 1/I. Design the format to still work when your catalog is ten times its current size.
Can two products have the same SKU? Within a Shopify admin, no — SKUs must be unique across product variants, and Shopify warns you when duplicates are detected because they break tracking and integrations. The exception Shopify documents: intentional duplicates for specific workflows like bundles, where you can ignore the warning. Otherwise, treat a duplicate-SKU flag as a same-day fix.
Next step
Open your Products list and check two things: how many variants have a blank SKU, and whether any SKUs are duplicated (Shopify flags duplicates in the Inventory section). Fixing those two is the highest-return 30 minutes in inventory hygiene — and if the naming itself needs work, Shopify SKU naming walks through designing a scheme that survives growth.