Skip to content
DevMarket
Odoo ModulesWordPress PluginsWordPress ThemesShopify ThemesApp TemplatesScripts & UtilitiesBlogSell on DevMarket
WordPress and WooCommerce

WooCommerce Variable Products: How to Create Variations Step by Step

Create WooCommerce variable products step by step: choose attributes, generate variations, set price, SKU, stock and image per variation, use bulk edit, and avoid the common stock and price mistakes.

By DevMarket EditorialPublished: 8 min read
WooCommerce Variable Products: How to Create Variations Step by Step
On this page

A WooCommerce variable product is one product that comes in several versions, such as a shirt in four sizes and two colours, where each version (a variation) can have its own price, SKU, stock level and image. You create it by choosing the Variable product type, adding attributes, generating the variations and filling in each one. This guide shows how, covers bulk edits and the limits for many variations, and lists the common mistakes. It was checked against the WooCommerce documentation in October 2026 (WooCommerce 11.2), so your screens may differ.

In short

  • Use a variable product when buyers choose options and each option needs its own price, SKU, stock or image.
  • Add attributes, tick Used for variations, save, then click Generate variations. A variation without a regular price does not show in the store.
  • Decide early whether stock is counted per variation or once on the parent product.
  • Bulk actions edit all variations at once. Above 30 variations the storefront dropdowns become static by default.

When should you use a WooCommerce variable product?

Use a variable product when one product has choices the customer must make, and those choices change something you track: price, SKU, stock, image or weight. A T-shirt in three sizes and two colours fits. A mug with optional engraving text does not: the text is an extra field, not a version, and product add-ons or custom fields are the usual tools.

A row of cards joined by arrows from left to right
Build a variable product in order: attributes first, then the variations, then the data of each variation, then a test purchase.

If the versions are really different items, create separate simple products, and a grouped product if you want them together on one page. A useful test: if each version should have its own SKU and stock count, it is a variation.

Attributes: global or custom?

Attributes describe a product, such as Size or Colour. WooCommerce documents two kinds.

Global attributeCustom attribute
CreatedProducts > AttributesThe Attributes tab of one product, with Add New
ReuseAny product; changing a term updates it everywhereThat product only
ValuesTerms added under Configure termsTyped on the product, separated by a pipe symbol

Global attributes also have an Enable archives option, which creates a page listing every product with one of the attribute's terms, for example yourstore.com/color/black/. These are extra URLs, so switch them on only if you want them found: the WooCommerce SEO guide covers the trade-off. The Default sort order sets the dropdown order. Name sorts alphabetically and turns S, M, L, XL into L, M, S, XL, so choose Custom ordering for sizes.

How to create variations step by step

These steps follow the documentation's variable product page, checked on WooCommerce 11.2 in the classic product editor.

  1. Go to Products > Add New Product, name it and choose Variable product in the Product data dropdown.
  2. On the Attributes tab pick a global attribute from Add existing and choose its values (Select all loads every value), or click Add New for a custom one and type its values separated by a pipe symbol.
  3. Tick Used for variations on each attribute that should create variations, then click Save attributes.
  4. On the Variations tab click Generate variations for every combination, or Add manually for one at a time. Values multiply: four sizes and two colours make eight.
  5. Expand each variation and fill in its details. Optionally set Default Form Values at the top to preselect an option, which is possible only after one variation exists.
  6. Click Save changes, then Publish or Update.

If you change the attributes later, you may need to redefine the variations.

What to set on each variation

FieldWhat to know
Regular price, Sale priceRegular price is required: a variation without a price does not show
SKU, GTIN, UPC, EAN or ISBNThey identify the exact version. Blank falls back to the product-level value
Manage stock?Gives the variation its own stock quantity, backorder setting and low stock threshold
Weight, Dimensions, Shipping classBlank values use the parent product's settings
ImageA main image per variation. From WooCommerce 11.1 there is also a Variation gallery
Tax classOnly if one variation is taxed differently: see tax and VAT setup

Bulk edit and managing many variations

The Bulk actions dropdown on the Variations tab changes every variation of the product immediately. It also holds Delete all variations, so back up first. The actions cover status, setting, increasing or decreasing regular and sale prices by a fixed amount or percentage, scheduled sales, stock settings, and Length, Width, Height and Weight. There is no bulk action for images.

  • Above 15 variations, arrows let you page through the list, and changes save when you switch page.
  • Above 30 variations, the dropdowns become static, so a shopper can pick an unavailable combination. Developers can change the limit with the woocommerce_ajax_variation_threshold filter, and the documentation advises the lowest value that works, because higher values can affect product-page performance.
  • A very large form can exceed PHP's max_input_vars and be cut off without warning. Check WooCommerce > Status, Server environment. WooCommerce's documentation gives a default of 1000 and suggests 3000.

We found no fixed maximum number of variations in the documentation. For hundreds of variations, edit them in a spreadsheet: see importing and exporting products.

How do variable products look in the shop and the cart?

Product page, shop pages and cart

On the product page shoppers pick each required option, as dropdowns or buttons depending on the theme, and the price, image and availability update. Shop and archive pages list the parent product and may show a price range. In WooCommerce's code a range appears when the lowest and highest active prices differ, and it shows no struck-out sale price. In the cart each variation is its own line with its chosen options, but the layout depends on your theme or the Cart block, so check it with a test order.

Swatches and size charts

WooCommerce documents an experimental Color swatches for attributes feature under WooCommerce > Settings > Advanced > Features. It is off by default, appears only on block themes and works with Color / image attributes. Otherwise swatches come from plugins: use the checklist in our best WooCommerce plugins guide. DevMarket lists Size Guide for WooCommerce, which adds size charts to products and categories and says it works with variable products. Test any of them on staging.

Variation URLs and duplicate content

A variable product is one product page, so variations do not get pages of their own. Google's product variants guide describes this single-page pattern, with one canonical URL for the product. Duplicates come from extras such as attribute archives, plugins that list variations as separate products, and URL parameters. The SEO guide covers them.

A worked example: a linen shirt with made-up numbers

Take an invented product, the Desert Linen Shirt, in four sizes and two colours. Prices and stock are illustrative.

  1. In Products > Attributes create Size (set Custom ordering, add S, M, L and XL, drag them into order) and Colour (Sand and Olive).
  2. Create a Variable product, add both attributes with Select all, tick Used for variations and save.
  3. Click Generate variations: you get eight.
  4. Use Bulk actions to set regular prices to 189 and toggle Manage stock. Then enter stock per variation and set the two XL variations to 199.
  5. Give each Sand variation the Sand photo and each Olive variation the Olive photo.
  6. Set Default Form Values to Sand for Colour and leave Size on "No default Size", so shoppers choose a size.
VariationSKUPrice (SAR, example)Stock (example)
Sand, MDLS-SAND-M18910
Sand, XLDLS-SAND-XL1994
Olive, LDLS-OLIVE-L1898

Now test like a customer. The shop page should show a range of 189 to 199. Pick Olive and L, check the image changes, add it to the cart and place a test order. Stock should fall only for Olive, L.

Common mistakes with variable products

  • Used for variations not ticked, so the attribute cannot create variations.
  • Stock at the wrong level. Product-level stock is one shared count. Variation-level stock gives each variation its own. Variations that do not manage stock fall back to the product count. To hide out-of-stock options, use Hide out of stock items from the catalog under WooCommerce > Settings > Products > Inventory: it works only with variation-level stock and backorders off.
  • Missing prices, which make variations vanish and dropdowns look empty.
  • Surprising price ranges. One expensive variation widens the range on shop pages.
  • "Any {attribute}" variations, which can act as duplicates. WooCommerce uses the first match in admin order, and the documentation recommends defining every attribute on every variation.

Frequently asked questions

How many variations can a WooCommerce product have?

The documentation we checked gives no fixed maximum. The limits you meet are practical: paging above 15, static dropdowns above 30 by default, and your server's max_input_vars when saving.

Can each variation have its own image?

Yes. Click the image placeholder on the variation. From WooCommerce 11.1 you can also manage a Variation gallery.

Should the parent product have a SKU?

It is optional. Give every variation its own SKU, which you will need when you import variations.

Why is my variation not showing in the shop?

Check that it is Enabled, has a regular price and is not hidden as out of stock by the catalogue setting.

Next steps

For many products, edit in a spreadsheet with our product import and export guide. For the store as a whole, see how to set up WooCommerce, and browse WooCommerce plugins on DevMarket for swatches and other extras.

Items mentioned in this article

The software this guide talks about, ready to look at.

  • PluginNew

    Size Guide for WooCommerce – Size Chart Popup & Measurement Tables

    Create reusable size charts, assign them to products or categories and show them in a clean popup or product tab with a cm / inch switch.

    by TAQNIX
    No reviews yet
    Sales:0$24.00

Find the right software for the job

Every item on DevMarket has a human-reviewed release, an instant licence key and clear update and support terms.