WooCommerce Bulk SKU Generator for Variations

Generate and fill in SKUs across WooCommerce product variations in bulk using a free spreadsheet-style editor and a clean naming pattern.

The Problem With Missing SKUs

Open a variable product with 30 or 40 variations and there is a good chance a handful of them have a blank SKU field. Maybe they were added in a hurry, maybe an import skipped them, maybe someone duplicated a product and never went back to fix the copies. Blank SKUs are not just a cosmetic issue. They break inventory reports, make warehouse picking harder, cause confusion in accounting exports, and can create duplicate-looking rows in any tool that syncs your catalog to a marketplace or fulfillment system.

Typing a SKU into each variation by hand is manageable for five or six of them. It stops being manageable once you are looking at a product with 80 or 150 variations, or a whole catalog of products in that state after a bulk import went wrong.

Quick Answer

There is no SKU generator built into core WooCommerce. To generate SKUs across many variations at once, following a consistent pattern, you need a bulk editing tool. The free plugin Variation Spreadsheet for WooCommerce shows every variation as a row with an editable SKU column next to its attributes, so you can build and fill in SKUs quickly using a pattern based on the product and its options, without a paid plugin.

Choosing an SKU Pattern

Before generating anything, decide on a naming convention you will stick to. A common approach combines a short product code with the attribute values, separated by dashes. The table below shows a few patterns stores commonly use.

Pattern Example Best for
PRODUCT-SIZE-COLOR TEE-M-BLK Apparel with two or more attributes
PRODUCT-COLOR MUG-RED Single-attribute products
CATEGORY-PRODUCT-### HOME-CANDLE-014 Large catalogs needing sequential numbering
PRODUCT-SIZE-COLOR-MATERIAL BAG-L-TAN-LTHR Products with three or more variable attributes

Keep the codes short and readable. A SKU like TEE-M-BLK tells you instantly what it is; a SKU that is just a random string of numbers does not, and makes manual inventory checks slower for everyone on your team, not just you.

Step-by-Step: Filling in SKUs Across Variations

  1. Install Variation Spreadsheet for WooCommerce from your WordPress Plugins screen. It is free and ready to use right after activation.
  2. Open the product with missing or inconsistent SKUs.
  3. Switch to the spreadsheet grid, where you will see the SKU column alongside the size, color, or other attribute columns for each row.
  4. Because the attributes are visible right next to the SKU field, you can read off what each variation is and type the matching SKU directly, following your chosen pattern.
  5. For variations that share part of a pattern, such as the same product prefix, type the first one and copy it down, then adjust only the part that changes per row (like the color code).
  6. Save the grid once every row has a SKU filled in.
  7. Repeat for other products with missing SKUs. Since the grid loads fast and the fields are all visible at once, working through a whole catalog this way still takes minutes per product rather than an hour.

Avoiding Duplicate SKUs

WooCommerce requires SKUs to be unique across your entire store, not just within one product, and it will throw an error if you try to save a duplicate. This matters most when you are generating SKUs in bulk across similar products, for example two different t-shirt designs that both have a Medium Black variation. If your naming pattern only accounts for size and color, both shirts would end up wanting the same SKU. Build the product itself into the pattern, as in the TEE-M-BLK example above, using a product-specific prefix rather than a generic one, so collisions do not happen in the first place.

If you do hit a duplicate SKU error while saving, it usually means two rows generated the same code. Scan the column for repeats before saving a large batch, which is much easier to do in a spreadsheet view where every row is visible than in the default editor where each variation is hidden inside its own collapsed panel.

Generating Missing Variations at the Same Time

SKU cleanup often happens alongside another common task: filling in variations that do not exist yet for every combination of attributes. If a product has Size (S, M, L, XL) and Color (Red, Blue, Black) but only 8 of the 12 possible combinations have been created, WooCommerce’s own “create variations from all attributes” button can generate the missing ones, after which you will still need SKUs, prices, and stock filled in for the new rows. A spreadsheet grid handles this cleanly since new variations show up as new rows ready for the same bulk-fill workflow you are already using for SKUs.

Keeping SKUs Clean Going Forward

  • Set your SKU pattern in writing somewhere your team can reference it, even if that is just a note in a shared document. Consistency matters more than the specific format you choose.
  • Assign SKUs at the same time you create a new product, not weeks later, so gaps do not build up again.
  • When duplicating a product to create a similar one, immediately update the SKU prefix on the duplicate before publishing, since duplicated products often carry over the original SKUs and cause conflicts.
  • Periodically export your product list and scan for blank SKU cells so you catch gaps before they pile up into a big cleanup project.

Free vs Paid Bulk SKU Tools

Paid plugins like WP Sheet Editor and Barn2 include similar bulk SKU editing as part of a broader (and paid) feature set. If SKU generation and general variation cleanup is your main need, a free plugin covers it without a subscription, and it does not put a cap on how many variations you can manage, which matters for stores with catalogs well past a hundred rows.

Wrapping Up

Missing SKUs are one of those small problems that quietly gets worse the longer a store runs. A spreadsheet-style grid turns fixing it from a tedious hunt through individual variation panels into a quick pass down a column, following a pattern you set once and reuse for every product after.