Skip to content
GPLWP Guides

How to display product variation swatches in WooCommerce

WooCommerce Time About 25 minutes 6 steps Updated 1 Sep 2026

The short answer

WooCommerce does not provide colour, size, or image swatches in core; variable products use dropdowns by default. Create correctly configured attributes and variations first, then use a swatch extension to replace the dropdowns and show visual choices.

The route
  1. 01Create the product attributes
  2. 02Turn the product into variable
  3. 03Create every variation combination
  4. 04Know the manual route
  5. 05Install and configure swatches
  6. 06Test the customer selection

What you need

  • A WooCommerce store on WordPress 6.0 or later
  • Administrator access to WordPress
  • A variable product with defined variation options
  • Colour values, size labels, or variation images ready

Create the product attributes

Go to Products > Attributes and create global attributes such as Colour and Size. Add the terms customers can choose, such as Black, White, Small, and Large. Global attributes are easier to reuse and maintain across the shop.

You can also create attributes inside an individual product when an option applies to that product only. Use clear, consistent names because the attribute terms become the labels used by your swatches.

Turn the product into variable

Edit the product and set Product data to Variable product. Open Attributes, add the attributes and terms, then enable Used for variations before saving the attributes. WooCommerce only makes attributes available for variation combinations when this option is enabled.

Do not rely on an attribute being merely visible on the product page. It must be marked for variations, or the swatch selector will not control a purchasable combination.

Create every variation combination

Open the Variations tab and generate all combinations, or add only the combinations you actually sell. Open each variation and add its price, stock status, SKU if required, and any other product data. Set a variation image when a customer should see a different product image after choosing an option.

Save the variations and update the product. If you change the attributes afterwards, redefine or regenerate the variations; otherwise the new swatch choices may not match any purchasable variation.

Know the manual route

WooCommerce core does not turn variation dropdowns into colour, size, button, or image swatches. The manual alternative is to build a custom product form with theme code, CSS, and JavaScript that mirrors WooCommerce's variation selection and keeps the variation ID, price, stock, and add-to-cart state in sync.

That route is only sensible for a developer maintaining a custom theme. It is easy to create a selector that looks right but submits the wrong variation, fails when an option is out of stock, or breaks after a WooCommerce or theme update. For most shops, keep WooCommerce's native variation form and add a dedicated swatch extension instead.

Install and configure swatches

Install a variation-swatches extension from Plugins > Add New or upload its ZIP file, then activate it. In the extension settings, choose the display type for each attribute: colour for colour terms, images for product or pattern options, and buttons or labels for sizes. Configure the individual terms, including colour values or term images, then save.

The extension replaces the front-end dropdown presentation while WooCommerce continues to use the underlying variable product and variation data. Preview the product page after configuring each attribute, rather than assuming every term has been saved correctly.

Test the customer selection

On the product page, select each swatch in different orders and confirm that unavailable combinations are disabled or rejected, the price and stock message change, and the correct variation can be added to the cart. Test on a phone as well as a desktop browser.

For image changes, upload images to the actual variations. A swatch image is not necessarily the same thing as the variation's main product image, and some swatch extensions only use it as the selector graphic.

Watch large variable products closely. WooCommerce changes its dynamic dropdown behaviour above 30 variations for performance, so products with many combinations need careful testing with the swatch extension and theme.

The fast route

Let WooCommerce Variation Swatches and Photos do it

Replaces dropdowns with customizable color, size, and image swatches; choose it when visual variation selection matters most.

Get WooCommerce Variation Swatches and Photos

Sources

  1. woocommerce.com /document/managing-product-taxonomies/?utm_source=openai
  2. woocommerce.com /document/variable-product/?utm_source=openai
  3. woocommerce.com /document/woocommerce-color-and-image-swatches/?utm_source=o…

Questions

Can WooCommerce display variation swatches without a plugin?
No, WooCommerce core displays variable-product choices as select dropdowns rather than visual swatches. A developer can recreate the interface with custom theme code, CSS, and JavaScript, but that work must stay synchronised with WooCommerce's variation form and add-to-cart behaviour. A swatch extension is the practical route for most stores.
Why are my variation swatches not appearing?
Swatches usually do not appear because the product is not set to Variable product, the attribute is not marked Used for variations, or no matching variations have been saved. Check the product attributes first, then open Variations and confirm that each combination has a price and stock status. Also clear caching after changing the front-end display.
Will selecting a swatch change the product image?
Selecting a swatch changes the product image only when the variation has its own image and the extension supports that behaviour. Configure the swatch term image separately from the variation image, then upload the correct image to every relevant variation. A colour swatch graphic alone does not guarantee that the main gallery image will change.
Why does a colour or size option say no products matched?
The selected combination has no matching purchasable variation, or the variation is missing a price, stock setting, or required attribute value. Edit the product, confirm that every intended combination exists, and avoid leaving variations set to Any attribute unless you understand how WooCommerce matches those fallback rules.
What is the fastest way to add product variation swatches?
The fastest route is to create the variable product correctly, install a swatch extension, assign each attribute a display type, configure its terms, and test the product page. WooCommerce Variation Swatches and Photos fits when you want dropdowns replaced by colour, size, and image swatches with configurable shapes, sizes, styles, and tooltips.