Variation swatches for WooCommerce

Swatches that stay right at 5,000 variations.

Colour, image and size swatches for WooCommerce. Built on WooCommerce's own attribute data, under 4 KB, no jQuery — and still correct long after other swatch plugins give up at 30 variations.

  • Free forever — no variation limits
  • WooCommerce 8.0+ · HPOS compatible
  • No tracking, no outbound requests

Trail Runner

$119

Loading the picker…

Pick a colour, size and width

The same availability logic as the plugin, in your browser. 1,200 variations — try White, then look at the big sizes.

The 30-variation problem

Most swatch plugins stop being right at 30 variations.

WooCommerce stops sending variation data to the page once a product passes 30 variations. Swatch plugins that rely on it can no longer tell which combinations are out of stock — so shoppers pick sizes that don't exist, and find out at “Add to cart”.

Typical swatch plugin 1,200 variations

Every size looks available. Pick White and it still offers EU 44–45.

SwatchKit 1,200 variations

Sizes that don't exist grey out; sold-out ones cross out.

2.8 KBavailability data for 1,200 variations (gzipped)
< 1 msto update at 5,000 variations, in the browser
0AJAX requests while shoppers click

How we measured →

Three swatch types

Colour, image and size. All free.

Colour

A hex per term — or leave it empty and SwatchKit reads “Navy” as navy, from a built-in table of 300+ names. Two to four colours per swatch for stripes and two-tones New in 1.1.

Image

Patterns, fabrics, finishes — straight from your Media Library. Image tooltips and hover zoom included. Or let variation images become the swatches, with no setup.

Size & label

The type WooCommerce core doesn't ship. Every dropdown becomes buttons the moment you activate — zero setup.

What's free

Free. Not “free up to”.

The features other swatch plugins sell are in the free plugin, with no variation limits and nothing locked.

Unlimited out-of-stock handling

Cross out, blur, dim or hide — at 30 variations or 3,000. Unavailable combinations get their own style.

Shop & category swatches

Swatches on product cards that preview the variation's image and carry the choice to the product page.

Tooltips

The name, the image, or both. Colours you set, positioned so they never cover the swatch.

Per-product type & shape

Circles for one product, pills for another, without touching the global settings.

Quick view & infinite scroll

New product forms are picked up automatically — quick views, “load more”, page builders. No setup.

Accessibility built in

Real radio buttons, arrow keys, and screen-reader text that says “Blue, out of stock”.

See exactly what's free and what's Pro →

Settings

Settings you'll actually enjoy.

WooCommerce → Swatches. Grouped cards, sliders with numbers, and a live preview built from the real storefront markup.

The SwatchKit settings screen: a tab rail on the left, Shape and size and Spacing cards in the middle, and a live preview of colour, image and size swatches on the right.
  1. Live preview uses your real storefront CSS
  2. Out-of-stock styles you can see before you pick
  3. Ctrl/⌘ + S to save
Built on WooCommerce

Core's data. Everything core doesn't do.

WooCommerce 10.9 added its own Color/Image attribute type. SwatchKit reads and writes that same data — so switching away, or back, never strands your colours and images.

WooCommerce core

  • Color and image attribute type (10.9+)
  • Stores colours and images on terms
  • Size and label swatches
  • Out-of-stock and unavailable states
  • Tooltips
  • Shop-page swatches
  • Classic themes and big catalogs

+ SwatchKit

  • Reads and writes core's colour and image data
  • Size and label swatches
  • Out-of-stock and unavailable states, any variation count
  • Tooltips with names or images
  • Shop and category page swatches
  • Classic and block themes, any catalog size
Performance

Light enough to forget about.

SwatchKit frontend, gzipped

3.9 KB JS + 1.9 KB CSS — measured on every build; the build fails over 10 KB / 8 KB.

  • No jQuery, no dependencies
  • Loads only where swatches appear
  • Zero layout shift — rendered at final size on the server
  • Works with any page cache
Accessibility

A keyboard is enough.

Tab←→HomeEnd

Tab reaches each group once; arrow keys move between swatches like native radio buttons; Home and End jump to the ends.

“Blue, out of stock”

Screen readers hear the state, not just the colour. Swatches are real buttons with role="radio" and aria-checked.

For developers

No template overrides. Hooks for everything.

The original select stays in the page and stays the source of truth, so quick views, bundles and composite products keep working. Style with CSS variables; hook into the PHP and JavaScript.

Read the developer docs →

.swk-swatches--color {
  --swk-size: 48px;
  --swk-radius: 50%;
  --swk-selected-color: #111;
}
Switching

Switching is painless.

Your attributes and terms are WooCommerce data — they stay put.

  1. Activate SwatchKitEvery attribute becomes swatches straight away.
  2. Import colours and images 1.1From four popular swatch plugins, with a preview and undo.
  3. Check a productSet attribute types where you want something different.
  4. Remove the old pluginThe importer copies; it never deletes their data.

Questions

Are image swatches free?

Yes. Colour, image and size/label swatches, image tooltips, hover zoom and shop-page swatches are all in the free plugin.

Is there a variation limit?

No. Out-of-stock and unavailable handling works at any number of variations — 30, 1,200 or more.

Will it slow my store down?

No. The storefront script is under 4 KB with no dependencies, loads only where swatches appear, and makes no requests while shoppers pick options.

Does it work with my theme?

It works with any theme that uses WooCommerce's standard variation form, because it never replaces WooCommerce templates. Storefront and Astra are tested on every release; Elementor and Bricks have built-in support.

What happens if I deactivate it?

Your store goes back to WooCommerce's dropdowns. Nothing breaks and no product data is lost. Settings stay in place unless you enabled “Delete all SwatchKit data” and then delete the plugin.

When is Pro coming?

SwatchKit Pro is a separate add-on — add to cart from shop cards, low-stock markers, instant colour images and more. It's built and in testing; join the early-access list to hear first. The free plugin will never be limited to make room for it.

Put your dropdowns out of their misery.

Free on WordPress.org. No account, no credit card.