30%
OFFLimited time
Make sure your store is healthy and ready forGet your store ready for Black Friday
Catalog Health Scanner for WooCommerce
Use code at checkout
Get 30% Off

WooCommerce Variation Swatches: Color & Image Swatches

WooCommerce Plugin
4.6
15 Reviews
v1.2.3
Updated 3 days ago
900+
Stores Live
drop the variation dropdown ↓

Show the colour, not the name of the colour.

Replace WooCommerce's variation dropdowns with colour, image, and label swatches. Per-attribute galleries with zoom. Smart filtering so only the variations you actually stock are clickable. Select2 fallback when you've got 30 sizes. $49.99/yr or $149 once.

14-day refund
Colour · Image · Label
HPOS-ready
three things the default dropdown can't do ↓

A dropdown of colour names. In a shop that sells colour.

Out of the box, WooCommerce shows variation attributes as text dropdowns. Customers pick "Carmine Red" without seeing it, can't tell which sizes are actually in stock, and bail out the first time the Add-to-Cart button rejects an impossible combination. Three things that cost you sales every day.

problem · 1

"Carmine Red" doesn't tell anyone what red.

Colour▼
Carmine Red
Cerise Pink
Cobalt Indigo
Onyx Black
→ shopper guesses, then returns

Native WooCommerce shows attributes as text. Shoppers pick on intuition, the package arrives in a shade they didn't expect, you eat the return. Apparel and homeware stores lose 8 to 12% of variation orders this way.

problem · 2

"This combination is not available." Sale lost.

Red XL = 404
Sorry, this combination is not available. Please choose a different combination.

The default Add-to-Cart button waits for the shopper to assemble a combination, then tells them it doesn't exist. By that point they've already lost interest, and the next click is the back button, not "try a different size."

problem · 3

One main image. Twelve variants. You do the math.

Red shown. Pink, indigo, mint, charcoal, sand, black hidden in dropdown.

Even when you load 12 product images, native WooCommerce only swaps to the variation gallery after the shopper has already picked. They never see the indigo unless they go looking for it. Most don't.

eight controls you'll use ↓

Colour. Image. Label. Plus the smart stuff dropdowns can't do.

The plugin handles four jobs: render swatches in three attribute types, swap the product gallery as a swatch is picked, filter out variations that don't exist or are out of stock, and scale gracefully when a product has 30+ sizes through a Select2 fallback.

types · colour · image · label

Three new attribute types. Mixed on the same product.

A single product can have colour + size + image all at once. Each attribute carries its own swatch type, configured once at the global level.

galleries · per attribute

One gallery per colour. With zoom.

Pro-only. Each colour or image term owns its own gallery, with zoom on hover. Picking Red replaces the whole gallery, not just the featured image.

filter · only viable combos

Picks one swatch, greys out the impossible others.

Pro-only. The plugin pre-walks the variations array and disables any swatch that would resolve to a non-existent or out-of-stock combination. Customers never assemble an impossible cart.

scope · global or per-product

Global defaults. Per-product overrides.

archive · shop & category

Swatches on the shop page. Featured image swaps in place.

Click a swatch right in the shop grid. The thumbnail updates without leaving the listing. Add-to-cart still works at the product page.

tooltip · attribute name

Hover the swatch. See the proper name.

Tooltip carries the term name plus optional stock count. Keeps the swatch grid clean while preserving accessibility for screen readers.

scale · select2 fallback

Got 30 sizes? It falls back to a search box.

Pro-only. Set a swatch-count threshold (e.g. > 12 terms) and the plugin renders a searchable Select2 dropdown instead. Cleaner UX than a wall of size pills.

perf · product-pages only

Scripts load only where they're needed.

A toggle in settings limits swatch JS to product pages by default. Your home, blog, and account pages stay light. CLS scores stay clean.

setup

Four steps. Live in under 10 minutes.

i · install

Activate the plugin

Upload the .zip from Plugins → Add New, then activate. Free version on .org or the Pro .zip from your account.

Color or Image Variation Swatches for WooCommerce Active
ii · pick type

Set the swatch type per attribute

Products → Attributes → edit. New "Type" dropdown lets you flip Color from Select to Color / Image / Label. One choice per attribute.

attribute · Color Color swatch
attribute · Size Label swatch
iii · paint

Set the colour, image, or label per term

Each attribute term (Red, Indigo, S, M, L) now shows a swatch field. Paste a hex, drop an image, or type a short label.

Red#E5523A ✓
Indigo#3847D3 ✓
Black#0F1419 ✓
iv · tune

Tune behavior in global settings

WooCommerce → Settings → Swatches. Shape, size, tooltip, archive-page rendering, Select2 threshold, intelligent filtering on/off.

how we stack up

Three swatch types, smart filtering, at a price that doesn't renew.

WooCommerce
native · dropdowns only
WooCommerce.com Swatches
$99/yr · no lifetime
GetWooPlugins Swatches
from $49/yr · from $149 lifetime
WPFactory
$49.99/yr · $149 once
core: attribute swatch types
Colour swatch attribute type✕✓✓
Image swatch attribute type✕✓✓
Label / text swatch attribute type✕✕✓
Mix colour + image + label on one product✕colour + image only✓
smart behavior
Dedicated gallery per attribute term (with zoom)✕image swap onlyimage swap only
Intelligent combination filtering (greys out impossible)✕not specified✓
Select2 fallback for very long attribute arrays✕✕✕
Tooltip on hover with term name + stock✕✓✓
scope & placement
Global defaults + per-product overrides✕✓✓
Swatches on shop & category archives✕✓✓
Scripts load only on product pages (toggle)-not specifiednot specified
WPML / Polylang term translations-✓✓
pricing & ownership
Free version on .org-✕✓
Lifetime tier-✕✓ up to $449 (5 sites)
Multi-store licensing-per-site renewal5 sites at top lifetime tier
10-year cost$0$990$449
50+ plugins (All Access)-✕✕
Ready to retire the variation dropdown? ↓ Jump to pricing
scroll →
three real stores ↓

Three shops. Three swatch strategies.

apparel · colour + size

Cotton-tee shop · "Show the colour. Let them flip it."

A 200-SKU apparel brand with 8 colours and 5 sizes per shirt. Before swatches, the colour dropdown read "Burnt Sienna / Frost Mist / Onyx" - returns sat at 11%. After swatches, customers see the actual colour, pick on visual, and the size pill greys out the moment a colour they want isn't in their size.

AttributesColour (swatch) · Size (label)
GalleriesOne photo set per colour, with zoom on hover
Smart filterOn - sizes grey out per chosen colour

Returns dropped from 11% to 4%. Conversion on variable products up 18% in the first 30 days.

footwear · 30 sizes

Custom-shoe shop · "30 sizes. Half-sizes. Widths."

A bespoke leather-shoe maker stocks EU 36 through 50 in half-sizes, in three widths. That's 60 size pills - too many for a swatch grid. Select2 fallback kicks in at 12 terms, so customers type "42" and see only 42 R / 42 W / 42 X. Colour stays as a normal colour-swatch row.

AttributesColour (swatch) · Size (Select2 - 60 terms)
ThresholdPills under 12 terms · Select2 above
ResultMobile users find their size in 2 taps, not 15

Mobile cart-completion rose 23%. Customer-service "how do I pick size" tickets fell to zero.

verified reviews

From stores running this right now.

Using the plugin? Leave a review on WordPress.org.

"Great plugin, simple to use and works exactly as described. Highly recommended."
R
remcohaarlie
WordPress.org review
see review →
"Communication with this plugin developer was fantastic. Very helpful. Great plugin would recommend."
V
Verified buyer
verified buyer
see review →
"Excellent plugin and excellent support. Solved my swatch needs out of the box."
R
Roi Webreach
WordPress.org review
see review →
tested with

Works with your theme, your page builder, your stack.

Platform

WP 4.4+WP 6.9WC 4.0+WC 10.7PHP 7.4+PHP 8.3HPOS-ready

Themes

StorefrontAstraKadenceGeneratePressBlocksyFlatsomeOceanWPAvada

Page builders

Block editorElementorBricksDiviWPBakery

Multilingual

WPMLPolylangTranslatePressRTL languages
why this plugin

Built for stores where variants matter as much as the product.

Every WPFactory plugin ships with the same eight guarantees. Here's what running this one looks like in practice.

Clean code, reviewed

Hooks into WooCommerce's standard variation template instead of replacing it. The smart-filter walker operates on the existing variations-JSON object that WooCommerce already prints, so no extra database queries.

Docs & specs, written

Every filter is documented at wpfactory.com/docs. Setup, attribute-type matrix, intelligent-filter rules, Select2 threshold - all spec'd, not assumed.

Support that ships

See the reviews: kgeorgiev and msn60 both called out replies "in the shortest possible time." Real bug reports become releases within days. Email support, no ticket queues.

14-day money-back

14-day refund on yearly and lifetime, 30 days on All Access, no questions asked. If your theme renders variations in an unusual way and the swatches won't slot in, support helps; if it still doesn't fit, you walk away whole.

Bundle savings, real

All Access is $499 once for all 50+ plugins, lifetime, unlimited sites, and it includes every plugin we release later. Three lifetime licenses at $199 already cost $597, so the bundle usually wins by your third plugin.

Updates, regularly

Tested against the latest WooCommerce within days of every release. HPOS-ready. PHP 8.3 compatible. Tracks the WC variation-template changes so new releases don't break the swatch layer.

Plays well with others

Compatible with WPML, Polylang, WooCommerce Subscriptions, major themes (Storefront, Astra, Kadence, Flatsome, OceanWP), and the block editor's Single Product block.

Designed for store owners

You don't need a developer. Open an attribute, flip Type to Color, paste a hex per term. That's the whole setup. No code blocks, no template overrides, no PHP snippets unless you want them.

6 stores joined this week·2 in the last 24h
if you're going to keep this plugin a while ↓

Three tiers. Pick once.

14-day refund on yearly and lifetime, 30 days on All Access. Lifetime pays for itself by year 3. All Access pays for itself with any 2nd plugin you'd ever use. Yearly auto-renew can be turned off in your account.

VARIATION SWATCHES PRO
$149 once

Buy once. Owns itself by year 3. Use on every site you own.

  • Unlimited sites
  • Lifetime updates
  • Priority email support
  • 14-day refund
  • GPL-licensed · use on client sites
Buy Lifetime - $149 once
★ SMART MOVE ALL ACCESS · LIFETIME
$999$499oncesave 50%

This plugin + 49 others, lifetime updates, unlimited sites - for $300 more than Lifetime alone.

! Buying any 3 single lifetimes?
$597 → $499 / 50+
  • 50+ plugins, lifetime updates
  • Unlimited sites - every plugin
  • Future plugins included free, forever
  • Lifetime priority support
  • Pays back at 5th plugin you'd use
Explore All Access
What attribute types does the plugin add?
Three new attribute types beyond the WooCommerce default: Color (a color picker per term), Image (a thumbnail per term), and Label (a text pill per term like S, M, L, XL). All three can be mixed on the same product, e.g. Color + Size on a t-shirt.
Can I have a different gallery per attribute (e.g. one gallery per colour)?
Yes. The plugin adds dedicated attribute galleries so that when a shopper picks Red, the product gallery flips to the Red gallery (with zoom). Each color or image attribute term can own its own image set, independent of the main product gallery.
Will it hide combinations that aren't in stock or don't exist?
Yes. Intelligent combination display only renders swatches for variations that actually exist on the product. If Red comes in S and M but not L, the L pill greys out the moment Red is picked, so shoppers never try to add an impossible variant to the cart.
What if a product has 30+ variations?
Swatches stay sensible up to a point. For attributes with very long term lists (sizes 2 through 28, hundreds of fabric swatches), the plugin can fall back to a Select2-enhanced dropdown with search, so customers type to find what they want instead of scrolling 30 pills.
Do swatches show on the shop / category archive too?
Yes. Enable archive swatches in the global settings and each variable product shows its color/image swatches under the price on the shop page. Clicking a swatch swaps the featured image right there in the listing, no product-page visit required.
Can I set a global swatch size, shape, and tooltip behaviour?
Yes. Global settings cover swatch shape (round / square / rounded), size in pixels, border style, tooltip on hover, and behavior on click. Per-product overrides let you change any of those on a specific product.
Is the plugin block-editor / block-checkout compatible?
Yes for the product page and shop archive. Swatches render through the standard variable-product template, so themes that use the block-based Single Product block also pick them up. Block-checkout is unaffected because swatch selection happens on the product page, before checkout.
Will it slow my site?
No. Scripts only load on product pages by default (an option you can toggle), and the swatches render server-side so there is no extra layout shift. Smart filtering runs on a single variations-JSON object that WooCommerce already prints.
Is the plugin HPOS-compatible?
Yes. HPOS (High-Performance Order Storage) is declared compatible. Works with both the new high-performance order tables and legacy postmeta-based storage.
Does it work with WPML or Polylang?
Yes. Attribute term translations from WPML or Polylang are honored. The swatch (color value / image / label text) is set once on the canonical term and inherits across translations, so you don't redo the swatch design per language.
What is the refund policy?
14 days on the yearly and lifetime plans; 30 days on All Access. No questions asked. The yearly plan also includes an upgrade credit toward Lifetime or All Access. Lifetime never renews. Yearly auto-renew can be turned off in your account.
Is there a free version?
Yes. The free version on WordPress.org covers the three attribute types (Color, Image, Label) and basic swatch rendering. The Pro version adds dedicated attribute galleries with zoom, intelligent combination filtering, Select2 fallback for large variation arrays, archive-page swatches, and priority support.
if you've scrolled this far ↓

Stop selling colour with the word "colour." Show the swatch.

Three attribute types - colour, image, label. Dedicated galleries with zoom per term. Intelligent filtering greys out impossible combinations before the cart rejects them. Select2 fallback for big size matrices. 900+ stores already running it. 14-day refund if it's not for you.

900+ stores · 4.6★ across 15 reviews · WordPress.org plugin · 14-day refund