SKU Generator
Build consistent SKUs from a pattern and your product attributes, then export the list ready to paste into your catalog.
Your details
SKUs, ready to paste into your product sheet
Product,Category,Color,Size,Material,SKU
Classic Tee,Apparel,Black,S,,APP-BLA-S-001
Classic Tee,Apparel,Black,M,,APP-BLA-M-002
Classic Tee,Apparel,Navy,S,,APP-NAV-S-003
Classic Tee,Apparel,Navy,M,,APP-NAV-M-004
Canvas Tote,Bags,Natural,One Size,Canvas,BAG-NAT-OS-0055 SKUs generated. Paste the SKU column into Shopify's SKU field per variant, or WooCommerce's SKU field on each variation.
A token with nothing to fill just drops out of the pattern, rather than leaving a stray dash.
Pattern tokens
Write a pattern once using tokens, then apply it to every row you paste. Each token is replaced with an abbreviation built from that row's value.
| Token | Built from | Example |
|---|---|---|
| {CAT} | Category | "Apparel" → APP |
| {NAME} | Product name (first letters) | "Classic Tee" → CT |
| {COLOR} | Color | "Black" → BLA |
| {SIZE} | Size | "Medium" → MED |
| {MAT} | Material | "Canvas" → CAN |
| {SEQ} | A running number | 001, 002, 003… |
Example: pattern "{CAT}-{COLOR}-{SIZE}-{SEQ}"
- Row 1
- Classic Tee, Apparel, Black, S
- Row 2
- Classic Tee, Apparel, Black, M
Row 1 becomes APP-BLA-S-001, row 2 becomes APP-BLA-M-002. A multi-word value like “Extra Large” abbreviates by initials, so it becomes EL rather than EXT.
Using the SKUs you generate
- 01
Shopify
Paste the SKU column into the SKU (Stock Keeping Unit) field on each variant, or add it as its own column in a product CSV for Products → Import.
- 02
WooCommerce
Paste the SKU into the SKU field on the product or each variation. WooCommerce requires SKUs to be unique across the whole store.
- 03
Keep the pattern consistent
Decide the token order once and reuse it for every new product line, so anyone reading a SKU can tell the category and size without opening the product.
Pitfalls
- Collisions. If two rows abbreviate to the same result, the tool appends -2, -3 and so on automatically so every SKU stays unique. Fix the source data if you'd rather they read cleanly.
- Blank attributes. A missing color or material just drops out of the pattern instead of leaving a stray dash.
- This isn't the same as [Product Variant Generator](/tools/product-variant-generator). That tool expands two or three option lists into every combination for import. This one applies a naming pattern to a list you already have.
Questions people ask
What makes a good SKU pattern?
Short codes for category, a couple of key attributes, and a running number for uniqueness. Avoid encoding price or anything that changes, since you'd have to rename the SKU later.
Can I use my own prefix instead of a category abbreviation?
Yes: put fixed text anywhere in the pattern outside the {tokens}, like "MYSHOP-{CAT}-{SEQ}", and it appears on every row unchanged.
Does this check for duplicate SKUs in my existing catalog?
No, only for duplicates within the rows you paste in this run. Check new SKUs against your live catalog before importing.
What if an attribute has a comma in it?
Avoid commas inside a single field, since the tool splits each line on commas. Use a hyphen or space instead, for example "Off White" rather than "Off, White".
Related tools
Last reviewed 30 September 2026.
