How to create SKU numbers that actually work
A SKU (Stock Keeping Unit) is the internal code that identifies each sellable variant in your catalog. Good SKUs make picking, reordering, and reporting fast; bad ones cause overselling, failed imports, and hours of cleanup. Here is how to design a system that scales.
What a SKU is (and isn't)
A SKU is your internal identifier. Unlike a barcode (UPC/EAN/GTIN), which is assigned globally by GS1 and stays with the product across every retailer, a SKU is something you design for your own operation. That means you get to make it meaningful: a well-designed SKU tells you what the product is at a glance.
Every distinct variant needs its own SKU: a t-shirt in three colors and four sizes is twelve SKUs, not one.
The anatomy of a good SKU
Strong SKUs follow a consistent pattern, ordered from general to specific:
| Segment | Example | What it encodes |
|---|---|---|
| Brand or category | ALB | The most important grouping — brand, department, or product line |
| Attribute codes | C-GO | Type, color, size, material — short fixed codes |
| Sequence number | 0044 | A padded counter that guarantees uniqueness |
Put together with a separator: ALB-C-GO-0044. Anyone in your team can read it: brand ALB, chair, gold, item 44.
Seven rules that prevent 90% of SKU problems
- Keep it 8–16 characters. Long SKUs get truncated in reports and are painful to read on pick lists.
- Never start with a zero. Excel and Google Sheets silently strip leading zeros, corrupting your SKU column the first time someone opens the CSV.
- One pattern for everything. The moment two people invent codes independently ("BLU" vs "BL" for blue), you get duplicates and mismatches. Keep a single source of truth for attribute codes.
- No spaces or special characters. Stick to letters, numbers, and one separator (a dash is the most widely compatible). Spaces break scanners and integrations.
- Avoid ambiguous characters. O vs 0 and I vs 1 cause mispicks. If your font or printer makes them look alike, drop one of them from your codes.
- Don't encode data that changes. Price and supplier change; your SKU shouldn't. Encode stable attributes only.
- Pad your sequence numbers.
0044sorts correctly in every system;44ends up between 439 and 440.
Tip: decide the sequence padding based on how big your catalog might get, not how big it is. Four digits (0001–9999) covers most independent stores for years.
Step by step: designing your pattern
1. Pick your segments
Start with the two or three attributes your team actually uses to identify products. For apparel that's usually type + color + size; for jewelry, metal + stone. Fewer segments is better — every extra segment makes SKUs longer and codes harder to keep consistent.
2. Assign short codes to every option
Two or three characters per option: BK Black, WH White, NV Navy. Write them down once and reuse them everywhere.
3. Add a sequence number
The sequence guarantees uniqueness even when two products share every attribute. It also gives you a rough chronological order of when items were added.
4. Generate, don't type
Manual SKU entry is where duplicates come from. Use a generator that applies your pattern automatically — define the rule once and every product gets a correct, unique code.
Common mistakes to avoid
- Using the manufacturer's SKU as your own. Keep it as a reference field — if you switch suppliers, your internal codes shouldn't change.
- Reusing SKUs of discontinued products. Historical reports will merge the two products forever.
- Encoding too much. A 25-character SKU that encodes warehouse aisle, season, and margin band is unreadable and brittle.
- Duplicates. The silent killer: platforms either reject the import or, worse, merge inventory across two different products.
SKU vs UPC vs barcode: quick reference
| SKU | UPC / EAN | |
|---|---|---|
| Assigned by | You | GS1 (global registry) |
| Format | Your pattern, alphanumeric | 12–13 digits, fixed |
| Scope | Internal to your business | Global, same across retailers |
| Readable meaning | Yes, by design | No |
Generate your SKUs automatically
OtterLabel is a free SKU builder: define your pattern once, add products or generate whole variant sets, and export a clean CSV for Shopify, WooCommerce, or any spreadsheet.
Open the free SKU builderNo signup. Your data stays in your browser.