> For the complete documentation index, see [llms.txt](https://docs.globo.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.globo.io/options/option-types/selection-types/image-swatch.md).

# Image swatch

A grid of pictures with adjustable size, zooming tooltips, and slider layouts, for patterns, materials, and designs.

A grid of pictures, one for each value. Use it when the picture is the decision: fabrics, patterns, print designs, materials, and finishes.

It has more presentation settings than any other selection type, because a grid of images takes the most space on a product page.

**Watch it done — 1:50.** Replacing text values with image swatches, plus the **Text & image** tooltip that enlarges a pattern when a customer hovers over it.

{% embed url="<https://www.youtube.com/watch?v=2jHQkSrq1Mg>" %}

## What customers see

A grid of picture swatches at the size you set. Hovering displays the value's name, and optionally a zoomed version of the image. Long lists can be displayed as a slider.

<figure><img src="https://3141646361-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkMyxhAk2ZlJa4wZQGfBI%2Fuploads%2Fgit-blob-56514a9dd7ab6e460712633003dc39111a0d64fd%2F2026-09-03_13-30-15.png?alt=media" alt="A grid of image swatches on a storefront product page with a zoomed tooltip on the hovered swatch"><figcaption><p>A grid of picture swatches at the size you set.</p></figcaption></figure>

## Basic

<table><thead><tr><th width="250">Setting</th><th>What it does</th></tr></thead><tbody><tr><td><a href="/options/option-types/shared-settings/labels-and-visibility.md#label">Label</a> / <a href="/options/option-types/shared-settings/labels-and-visibility.md#name">Name</a></td><td>Customer-facing text, and the name on the order.</td></tr><tr><td><a href="/options/option-types/shared-settings/required-and-default-value.md#required-field">Required field</a></td><td>Blocks add to cart until one is chosen.</td></tr><tr><td><a href="/options/option-types/shared-settings/labels-and-visibility.md#hidden-label">Hidden label</a></td><td>Hides the label.</td></tr><tr><td><strong>Option values</strong></td><td>The choices, each with an <strong>Image</strong> column. Upload a picture or reuse one of the product's own images. See <a href="/options/option-sets/option-values.md">Working with option values</a>.</td></tr><tr><td><a href="/options/option-types/shared-settings/selection-behaviour.md#allow-multiple">Allow multiple</a></td><td>Lets the customer choose several.</td></tr><tr><td><a href="/options/option-types/shared-settings/limits.md#min-and-max-selections">Min selections</a> / <a href="/options/option-types/shared-settings/limits.md#min-and-max-selections">Max selections</a></td><td>Shown once <strong>Allow multiple</strong> is on.</td></tr><tr><td><a href="/options/option-types/shared-settings/placeholder-and-help-text.md#help-text">Help text</a></td><td>Guidance for the whole option.</td></tr><tr><td><a href="/options/option-types/shared-settings/required-and-default-value.md#default-value">Default value</a></td><td>Preselects a value.</td></tr><tr><td><a href="/options/option-types/shared-settings/conditional-logic-and-add-on-fields.md#conditional-logic">Conditional logic</a></td><td>Show or hide based on other choices.</td></tr></tbody></table>

This type has no **Swatch style** setting, because it always displays images.

## Advanced

<table><thead><tr><th width="270">Setting</th><th>What it does</th></tr></thead><tbody><tr><td><a href="/options/option-types/shared-settings/conditional-logic-and-add-on-fields.md#add-on-quantity">Add-on quantity</a> / <a href="/options/option-types/shared-settings/conditional-logic-and-add-on-fields.md#quantity">Quantity</a></td><td>How add-ons scale — including <strong>Mixed quantity</strong> when multiple is on.</td></tr><tr><td><a href="/options/option-types/shared-settings/collapsible-layouts-and-sliders.md#enable-custom-layout">Enable custom layout</a></td><td>Unlocks the layouts below.</td></tr><tr><td><a href="/options/option-types/shared-settings/collapsible-layouts-and-sliders.md#layout-type">Layout type</a></td><td><strong>Expand</strong>, <strong>Collapse</strong>, or <strong>Slider</strong>.</td></tr><tr><td><a href="/options/option-types/shared-settings/collapsible-layouts-and-sliders.md#scroll-type">Scroll type</a>, <strong>Scroll height</strong>, <strong>Number of option values</strong></td><td>Scroll area for the Expand and Collapse layouts.</td></tr><tr><td><a href="/options/option-types/shared-settings/collapsible-layouts-and-sliders.md#slider-settings">Number of rows</a>, <strong>Swatches per row</strong>, <strong>Show navigation arrows</strong>, <strong>Show indicators</strong>, <strong>Slider style</strong></td><td>Slider layout settings.</td></tr><tr><td><a href="/options/option-types/shared-settings/swatch-style-and-previews.md#swatch-image-width-and-height">Swatch image width</a> / <strong>Swatch image height</strong></td><td>Swatch size in pixels. Both start at <code>60</code>.</td></tr><tr><td><a href="/options/option-types/shared-settings/swatch-style-and-previews.md#tooltip-style">Tooltip style</a></td><td><strong>Text</strong>, or <strong>Text &#x26; image</strong> for a zoomed preview on hover.</td></tr><tr><td><strong>Tooltip image width</strong> / <strong>Tooltip image height</strong></td><td>The zoomed image size. Both start at <code>150</code>. Shown once the tooltip style includes an image.</td></tr><tr><td><a href="/options/option-types/shared-settings/selection-behaviour.md#not-allow-deselect">Not allow deselect</a></td><td>Stops the customer clearing their choice. Single-select only.</td></tr><tr><td><a href="/options/option-types/shared-settings/direction-width-and-css.md#direction-style">Direction style</a></td><td><strong>Vertical</strong> or <strong>Horizontal</strong>.</td></tr><tr><td><a href="/options/option-types/shared-settings/out-of-stock-options.md">Out of stock options</a></td><td>How sold-out values look.</td></tr><tr><td><a href="/options/option-types/shared-settings/placeholder-and-help-text.md#help-text-position">Help text position</a></td><td>Where the option-level help text sits.</td></tr><tr><td><a href="/options/option-types/shared-settings/direction-width-and-css.md#html-class">HTML class</a> / <a href="/options/option-types/shared-settings/direction-width-and-css.md#column-width">Column width</a></td><td>Styling hook and field width.</td></tr></tbody></table>

### Swatch size and tooltip style

These are the two most important settings on this type, and they solve opposite problems:

<table><thead><tr><th width="290">Problem</th><th>Answer</th></tr></thead><tbody><tr><td>Detail is not visible in a small swatch</td><td><strong>Tooltip style</strong> <strong>Text &#x26; image</strong> with a large tooltip image — keep swatches small, let the tooltip do the zooming</td></tr><tr><td>The grid dominates the page</td><td>Smaller swatches, or the <strong>Slider</strong> layout</td></tr><tr><td>Customers cannot tell two patterns apart</td><td>Larger swatches, plus the zooming tooltip</td></tr><tr><td>Non-square products look wrong</td><td>Rectangular swatches — width and height are independent</td></tr></tbody></table>

Touch devices do not have a hover state, so put anything essential in the value's own help text rather than in a tooltip.

## Personalizer

Supported as an **image layer**. The selected value's image is drawn onto the product photo. The settings are image shape, background mode, size, position, rotation, crop area, and customer controls.

This gives the customer a grid of designs and shows the selected design on the product immediately. See [Image layers](/options/product-personalizer/layer-settings/image-layers.md).

## Add-on pricing

Prices are set on each value, so premium fabrics can cost more than standard ones. Linking values to add-on products gives each design its own inventory.

See [Add-on pricing](/options/add-on-pricing/add-on-pricing.md).

## Preparing your images

The presentation settings cannot correct inconsistent source images. Before uploading:

* Crop every image to the same proportions. Mismatched crops can make a grid look untidy, regardless of how you size it.
* Photograph or scan images from the same distance and under similar lighting so colors are consistent.
* Upload images at a size larger than your tooltip dimensions. Otherwise, the zoomed version may appear blurry.
* Keep file sizes reasonable. A grid with 40 large images can slow down the product page.

## Examples

**Twenty fabric swatches with zoom**

<table><thead><tr><th width="290">Setting</th><th>Value</th></tr></thead><tbody><tr><td>Label / Name</td><td><code>Fabric</code></td></tr><tr><td>Swatch image width / height</td><td><code>60</code> / <code>60</code></td></tr><tr><td>Tooltip style</td><td><strong>Text &#x26; image</strong></td></tr><tr><td>Tooltip image width / height</td><td><code>240</code> / <code>240</code></td></tr><tr><td>Layout type</td><td><strong>Slider</strong>, 2 rows, 5.5 per row, arrows shown</td></tr><tr><td>Required field</td><td>On</td></tr></tbody></table>

**Six print designs, large**

Swatches at `120` × `120`, no slider, and **Personalizer** on so the selected design is displayed on the product photo.

**Fabric strips**

Swatches at `140` wide and `40` high, matching the shape of the material.

**Designs with different prices**

Standard designs are free, and licensed artwork is priced through **Existing product** so it maps to a real SKU.

## Notes

* Available on all plans. The slider layout may not be available on all plans.
* Works in Shopify POS.
* Every value needs an image. Without one, the swatch is blank.
* The swatch sizes control how the image is displayed. They do not resize the uploaded file.
* Value names are displayed only on hover, so put any essential information in the per-value help text.
