This is where the magic happens. In this chapter you will learn how to create product attributes (like "Color" or "Size") and assign a color or image to each option so it appears as a visual swatch on your store.
Before we start, here are two words that WooCommerce uses that you need to know:
When you configure a swatch, you are assigning a color or image to a term (for example, making "Red" display as a red circle).
You will see a screen split into two sections:

If you already have a "Color" attribute, skip ahead to Step 3.
Color (or whatever you want customers to see)Your new attribute appears in the list on the right.
Tip: Create one attribute per feature. For example, create a "Color" attribute AND a separate "Size" attribute. Do not try to combine them.

You are now on the Terms screen for that attribute. This works exactly like WordPress tags or categories. You will see existing terms on the right and a form to add new ones on the left.
Let's add a color called "Midnight Black" with a black color swatch.
Midnight Black
This is a dropdown with five choices:
| Option | What it Does |
|---|---|
| — Select type — | No swatch — the term will appear as a plain text pill |
| Color | Shows a filled circle (or square) in the color you pick |
| Image | Shows a small photo or texture you upload |
| Text Label | Shows the term name as a styled label button |
| Radio Button | Shows a classic radio control next to the term name |
Select Color for this example.
A color picker will appear beneath it.
Click anywhere inside the color picker swatch box. A color palette will pop up. You can:
#1a1a1a for near-black)For "Midnight Black", type #1a1a1a or drag to a very dark shade.

If you chose Image as the swatch type, you will see a Choose Image button instead of the color picker.

A small preview thumbnail will appear confirming your selection. You can click Remove at any time to change it.
Tip for image swatches: Keep swatch images square and small (around 100×100 pixels). Textures, fabric swatches, and pattern thumbnails work great here.
Your new term "Midnight Black" will appear in the terms list on the right side, with a small preview of its swatch in the Swatch column.
To update a term you have already created:
Repeat Steps 4–5 for every color (or size, or scent, etc.) you offer. For example, a "Color" attribute for a skincare range might look like:
| Term | Swatch Type | Color / Image |
|---|---|---|
| Rose Blush | Color | #e8b4b8 |
| Ivory Cream | Color | #f5f0e8 |
| Midnight Black | Color | #1a1a1a |
| Lavender Mist | Color | #c9b8d8 |
| Natural (texture) | Image | [fabric photo] |
That is perfectly fine! If you leave Swatch Type set to "— Select type —", the term will still appear as a button on your product pages — it just shows the term's name as a text label (called a text pill). This is useful for "Size" attributes where colors don't make sense.
On the Terms list screen, notice the Swatch column. It shows:

This lets you quickly confirm all your terms are configured before going to your products.
If you also have a "Size" attribute, go back to Products → Attributes, click Configure terms on "Size", and add your sizes (XS, S, M, L, XL, etc.). You don't need to assign colors to size terms — they will appear as text pills, which is completely normal.
Once you have set up your attribute terms here, two Pro modules let you go further:
These are configured per-term on the same edit screens you just used. See Chapter 9 — Advanced Styling for step-by-step instructions.