SKU generator: create product SKU codes from name and attributes

Build unique internal SKUs for Excel, Google Sheets, Shopify, WooCommerce, and ERP. Set one character count for every field, pick a separator, preview combinations in a grid, and export CSV. This is a stock-keeping unit builder — not a GS1 GTIN/UPC/EAN allocator.

SKU builder

Each segment is normalized to uppercase A–Z and 0–9, then cut to the character count. Multiple values (new line or comma) create every combination.

Same length for Item Name, Attribute 1, 2, and 3. PIM guides often target 8–12 characters for the full SKU; 3 per segment is a common starting point (e.g. TSH-BLU-M).

One product per line, or several names to generate a family of SKUs.

Typical: color, material, or collection. Leave blank to omit this segment.

Typical: size, pack count, or voltage.

Optional third variant dimension.

Separator

Dash is the default recommended by most catalog/PIM guides. Empty concatenates segments. Slash and colon are available but can break imports.

ITEM-A1-A2-A3

Generated SKUs

0 SKUs
# Item Attribute 1 Attribute 2 Attribute 3 SKU

Your SKU grid will appear here. Example: T-Shirt + Black + M → TSH-BLA-M

SKU vs GTIN: there is no GS1 “SKU standard”

GS1 publishes GTINs (GTIN-8/12/13/14), encoded in UPC-A, EAN-13, ITF-14, and GS1-128 barcodes. Those numbers are licensed company prefixes plus an item reference and a check digit. A SKU (stock keeping unit) is different: it is your internal catalog key. PIM implementations (for example Plytix’s SKU structure guidance) and 3PL playbooks treat SKU as something you design, while UPC/EAN/GTIN stay as attributes — never as a substitute SKU.

This generator follows that split. It produces human-readable, alphanumeric SKUs you can barcode and scan with WiScanner. It does not allocate GS1 prefixes or compute GTIN check digits.

SKU structure this tool follows

Because SKUs are internal, “standard” means widely adopted operations practice, not a numbered ISO spec:

1
Alphanumeric segments
Letters and digits only. Spaces and symbols such as # or & break CSV, Shopify, and WMS imports. Accents are folded (Ş→S, Ü→U).
2
Fixed length per field
Character count is applied to every field so TSHIRT and HOODIE both become 3-letter stems (TSH, HOO) and columns stay aligned on labels.
3
Dash as default separator
Catalog guides prefer dash or underscore. Slash can be read as a file path; colon as a delimiter. Empty join is offered for compact codes.
4
One SKU per variant
Color × size × material combinations each get their own row — the same rule GS1 uses for trade items, applied to your internal codes.
5
No leading-zero padding
Excel and some ERPs strip leading zeros. Short names stay short instead of becoming 007-style codes.
6
Keep SKU ≠ barcode GTIN
Print your SKU as Code 128 if you want, but store GTIN separately when marketplaces ask for it.

After you export CSV, load SKUs into Sheets or your store, print labels, then count with a phone scanner:

Need codes for shelves and bins too? Use the warehouse location code generator.

SKU generator questions

No. A SKU is an internal stock-keeping unit you invent. GTIN (UPC/EAN) is a GS1 global identifier for retail barcodes. This page generates SKUs only.

There is no ISO SKU syntax. Use alphanumeric segments, a dash, uniqueness per variant, and a full code around 8–12 characters when you can. Do not reuse GTINs as SKUs.

Slash is a path character. Colon is a delimiter in some parsers. Dash (or underscore) is what most PIM and 3PL SKU guides recommend.

Yes. Export CSV is UTF-8 with BOM for Excel. Import the file into Sheets, Shopify, WooCommerce, or your ERP, then scan those codes with WiScanner.

No. GS1 prefixes and check digits come from GS1. WiScanner scans whatever barcode you print — including labels that encode these internal SKUs.

Generated SKUs. Next: scan them with your phone.

WiScanner turns iPhone or Android into a wireless barcode scanner for Windows, Mac, Excel, Sheets, and connected stores.