Guide

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:

SegmentExampleWhat it encodes
Brand or categoryALBThe most important grouping — brand, department, or product line
Attribute codesC-GOType, color, size, material — short fixed codes
Sequence number0044A 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

  1. Keep it 8–16 characters. Long SKUs get truncated in reports and are painful to read on pick lists.
  2. Never start with a zero. Excel and Google Sheets silently strip leading zeros, corrupting your SKU column the first time someone opens the CSV.
  3. 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.
  4. No spaces or special characters. Stick to letters, numbers, and one separator (a dash is the most widely compatible). Spaces break scanners and integrations.
  5. 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.
  6. Don't encode data that changes. Price and supplier change; your SKU shouldn't. Encode stable attributes only.
  7. Pad your sequence numbers. 0044 sorts correctly in every system; 44 ends 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

SKU vs UPC vs barcode: quick reference

SKUUPC / EAN
Assigned byYouGS1 (global registry)
FormatYour pattern, alphanumeric12–13 digits, fixed
ScopeInternal to your businessGlobal, same across retailers
Readable meaningYes, by designNo

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 builder

No signup. Your data stays in your browser.

Related guides