Craftshift logo

Shopify variant images: the complete guide

Shopify variant images complete guide

Shopify variant images are the photos tied to each variant of a product. You sell a shirt in blue, red, and black. Each color needs its own photos. Shopify lets you assign one image per variant natively, but most merchants need more than that. This guide covers everything: how the system works, where the limits are, and how to show the right images for each variant automatically.

Whether you are setting up variant images for the first time or troubleshooting a gallery that will not update when customers pick a color, this post has the answer. It is the single reference for Shopify variant images in 2026.

In this post

What are Shopify variant images?

A variant is a specific version of a product. “Blue / Medium” is one variant. “Red / Large” is another. Each variant can have its own price, SKU, inventory count, and image. That image is the variant image.

When a customer picks a variant on the product page, Shopify scrolls the gallery to the assigned image. That is the native behavior on every Shopify theme. It gives the customer a visual cue that their selection registered. If you sell a jacket in four colors, you assign one photo of each color to its matching variant. The customer clicks “Green” and the gallery jumps to the green jacket photo.

Variant images are separate from product images. Product images are the full set of photos attached to the product. Variant images are the subset that maps one-to-one with each variant. Every variant image is a product image, but not every product image is a variant image.

How Shopify handles variant images natively

To assign a variant image in Shopify admin, go to Products, open the product, scroll to the Variants section, and click a variant. You will see an image field. Click it, choose a photo from the product’s media, and save. That photo is now the variant image.

Here is what happens on the storefront after you save:

That last point is the key limitation. Shopify does not filter the gallery. It scrolls to the right image, but every other image stays there. A product with 8 colors and 5 photos per color shows all 40 images no matter which color is selected.

You can also assign variant images through the Shopify API, CSV imports, or bulk editing in the admin. The result is the same: one image per variant, no gallery filtering.

Why one image per variant is not enough

One image per variant made sense when products had 3 colors and 2 sizes. It does not work for modern product pages. Customers expect to see the front, back, detail, and lifestyle shots for the exact color they selected. One photo does not give them enough information to buy with confidence.

Think about what your customers actually need. They pick “Navy Blue.” They want to see the navy version from the front, the back, a close-up of the fabric, and a lifestyle shot of someone wearing it. That is 4 images minimum. But Shopify only assigns one. The other 3 navy photos are buried in a gallery alongside 30 images of other colors.

This leads to real problems:

The bottom line: if your products come in multiple colors and you have more than one photo per color, you need a way to show multiple images per variant on Shopify.

The 250 image and 2,048 variant limits

Shopify has two hard limits that directly affect how you manage variant images.

The 250 media limit

Each Shopify product can hold a maximum of 250 media files. That includes images, videos, and 3D models. If you have 10 colors with 5 images each, that is 50 images. Comfortable. But a product with 30 colors and 8 photos each needs 240 images. You are almost at the wall.

This limit becomes a real constraint when you combine it with the new variant limit. Shopify now allows 2,048 variants per product, but you still only get 250 media slots. If you have 100 color variants and need 5 images per color, you need 500 images. That is double the limit.

The workaround options: use fewer photos per variant, split the product using combined listings, or accept that some variants share images. For a deeper look at how the 250 cap interacts with the new variant limit, read: managing images with 2,048 variants.

The 2,048 variant limit

In October 2025, Shopify raised the variant limit from 100 to 2,048 per product across all plans. This was the biggest structural change to Shopify products in years. A clothing brand can now have 15 colors and 10 sizes on a single product (150 variants) without splitting anything.

But more variants means more images to manage. Assigning images to 200 variants manually is tedious. And the 250 media limit gets tight fast. Our full breakdown of what changed is here: Shopify variant limit in 2026.

The practical takeaway: you can now build bigger products on Shopify, but you need better tooling to handle the images. Manual assignment does not scale past a few dozen variants.

How Shopify variant images apps solve this

Variant image apps work on top of Shopify’s native system. They do not change how Shopify stores images or variants. Instead, they add a layer on the storefront that detects which variant is selected and filters the gallery to show only the images assigned to that variant.

Here is the general flow:

  1. You assign multiple images to each variant inside the app (not in Shopify admin).
  2. The app’s storefront script detects when a customer selects a variant.
  3. The script filters the product gallery, hiding images from other variants and showing only the ones assigned to the selected variant.
  4. The gallery updates instantly without a page reload.

Some apps also replace the native variant selector with swatches (color circles, image thumbnails, or buttons) and add features like zoom, lightbox, and video support.

We compared the major options in: Shopify variant image apps compared (2026). The short version: Rubik Variant Images is the top-rated app with a 5.0 rating across 343+ reviews and a Built for Shopify badge.

Setting up multiple images per variant with Rubik

Rubik Variant Images lets you assign as many images as you want to each variant and filters the gallery automatically when a customer makes a selection. Here is the setup process.

Step 1: Install the app

Install Rubik Variant Images from the Shopify App Store. The free plan covers one product, so you can test the full feature set before committing. After installing, open the app from your Shopify admin.

Step 2: Select a product

Pick a product from the list. The app pulls in all variants and all product images automatically. You will see your variants on the left and your image library on the right.

Step 3: Assign images to each variant

Click a variant (like “Blue / Medium”) and drag the images you want into its assignment area. Assign 3, 5, 10 images. Whatever you need. The order you place them is the order they will appear in the gallery.

Repeat for each color variant. If Size does not change the look of the product, you only need to assign images to color-level groupings. “Blue” gets 5 blue photos, “Red” gets 5 red photos. All sizes within Blue share the same 5 images.

Step 4: Preview and save

Use the preview to see exactly how the gallery will look on your storefront. Switch between variants to confirm the filtering works. Save when you are satisfied. The changes go live immediately.

You can also check the result on the Rubik demo store to see how it looks on a real storefront.

For a detailed walkthrough with screenshots, see our dedicated post: how to show multiple images per variant on Shopify.

AI auto-assign and bulk assign

Manual assignment works well for one product. It does not work for 500 products. Rubik has two features built for scale.

AI auto-assign

Rubik uses Claude AI to analyze four data points for each image: the product name, the variant name, the image filename, and the alt text. Based on these signals, it figures out which images belong to which variant and assigns them automatically.

For example, if you have a product called “Cotton T-Shirt,” a variant called “Ocean Blue / Large,” and an image file named “cotton-tshirt-ocean-blue-front.jpg,” the AI matches them. It works across your entire catalog without you dragging a single image.

AI auto-assign is not perfect for every product. If your filenames are generic (like “IMG_4523.jpg”) and you have no alt text, the AI has less to work with. But for stores with decent naming conventions, it handles 80-90% of assignments correctly. You review the results and fix the few it missed. Read more about how it works: AI auto-assign for Shopify variant images.

Bulk assign

Bulk assign uses a simpler logic: image order. If you have 6 variants and 18 images, and the images are uploaded in order (first 3 for variant 1, next 3 for variant 2, and so on), bulk assign distributes them automatically. It runs in the background across hundreds of products.

This works best when your images are already organized by variant in your upload. Many merchants upload photos color by color, so the order naturally matches. Bulk assign catches that pattern and applies it at scale.

Common images shared across all variants

Not every image belongs to a single variant. A size chart applies to all colors. A lifestyle photo showing the product in context might apply to every variant. A brand story image or a materials close-up is variant-independent.

Rubik calls these “common images.” You mark an image as common, and it shows up in the gallery regardless of which variant the customer selects. It always appears at the end of the filtered set (or wherever you position it).

Typical common images:

Without common images, you would need to assign the size chart to every single variant individually. Common images save that work and keep the gallery clean.

Swatches: image vs color vs dropdown

Shopify’s native variant selector is a dropdown menu. Customer clicks the dropdown, scrolls through a list, selects “Blue.” It works, but it gives no visual preview. The customer has no idea what “Midnight Blue” vs “Ocean Blue” looks like until they select it.

Swatches replace the dropdown with visual selectors. There are three common types:

Image swatches

Small thumbnail images showing the actual product in that color. The customer sees a tiny photo of the red jacket, the blue jacket, the green jacket. They know exactly what each option looks like before clicking. This is the most informative swatch type and works well for products where color alone does not tell the whole story (patterns, prints, textures).

Color circle swatches

Small colored circles. Simple, clean, familiar. They work well for solid-color products where “Red” means an obvious red. Less effective for colors like “Dusty Rose” or “Heather Gray” where the exact shade matters. For tips on getting the colors right: how to fix inaccurate Shopify color swatches.

The Shopify default. No visual preview, just text. Fine for options like Size where a visual preview adds nothing. Not ideal for Color where the customer wants to see the options at a glance.

Most stores end up with a mix: image or color swatches for Color, buttons or dropdowns for Size. We have a full comparison here: swatches vs dropdowns for Shopify color variants.

Rubik Variant Images includes built-in swatches that render inside a Shadow DOM container. This means your theme’s CSS cannot accidentally break the swatch styling, and the swatches look consistent across every theme. No CSS conflicts, no layout shifts. Read about the performance side: swatch apps and store speed performance.

Page builder and theme compatibility

Shopify variant images only work if the app can detect variant changes and control the gallery on your specific theme and page builder setup. Compatibility matters more than most merchants realize.

Theme support: 350+ themes

Rubik supports over 350 Shopify themes out of the box. That covers every theme in the Shopify Theme Store and most third-party themes. The app uses 8 different variant detection methods to handle the variations in how different themes implement variant selectors and image galleries.

If you use a popular theme like Dawn, Impulse, Prestige, or Warehouse, it works immediately after install. For theme-specific setup notes, we have dedicated guides:

Page builder support: 7 builders

If you use a page builder instead of (or alongside) your theme’s product template, the variant image app needs to work inside that builder’s output. Rubik supports 7 page builders:

Each builder structures product pages differently, so the detection and gallery filtering logic is customized per builder. If your builder is on this list, it works. If it is not, contact Rubik’s support for a compatibility check.

Troubleshooting: Shopify variant images not changing

The most common issue merchants run into: they select a different variant, but the images do not change. The gallery stays the same or scrolls to the wrong image. Here are the usual causes and fixes.

No variant image assigned

The simplest cause. If you never assigned an image to the variant in Shopify admin (or in the app), there is nothing to scroll to. Go to the product in Shopify admin, open the variant, and assign an image. If you are using Rubik, check that images are assigned in the app’s interface.

Theme or app conflict

Some themes use custom JavaScript for their gallery that blocks external scripts from controlling it. Some apps (like other swatch or gallery apps) also try to control the same gallery elements, causing conflicts. If images stopped working after installing a new app or updating your theme, that is likely the cause.

Try disabling other apps that modify the product page one by one to isolate the conflict. Rubik’s 8 variant detection methods help avoid most of these issues, but conflicts can still happen with unusual setups.

Browser or CDN cache

You made changes but do not see them on the storefront. Clear your browser cache and try an incognito window. If you use a CDN or caching app, purge the cache for that product page. Shopify’s own CDN can also take a few minutes to propagate image changes.

Page builder overriding the gallery

If you use a page builder, its product gallery element may not respond to Shopify’s native variant change events. Make sure you are using a variant image app that explicitly supports your page builder. Check the page builder compatibility list above.

For a full troubleshooting walkthrough, see: Shopify variant images not showing: full fix guide.

Get started

Rubik Variant Images is free for one product. Test it on your most complex product and see the difference. If you also need combined listings for products that exceed the 250 media limit or need separate URLs per variant, Rubik Combined Listings handles that.

Video walkthrough

This video walks through the full setup process for Rubik Variant Images, from installing the app to assigning images and previewing the result on the storefront.

Frequently asked questions

How do Shopify variant images work?

Shopify lets you assign one image to each variant. When a customer selects that variant on the product page, the theme scrolls the gallery to the assigned image. All other product images remain visible. To filter the gallery and show only the selected variant’s images, you need a variant image app like Rubik.

Can I assign multiple images to one Shopify variant?

Not natively. Shopify’s built-in system supports one image per variant. To assign multiple images per variant and filter the gallery, use a variant image app. Rubik Variant Images lets you assign unlimited images per variant with drag-and-drop, AI auto-assign, or bulk assign. See our full guide on multiple images per variant.

What is the Shopify product image limit?

Each Shopify product can have up to 250 media files (images, videos, and 3D models combined). This limit applies regardless of how many variants the product has. If you need more images than 250 allows, consider splitting the product into separate listings linked with combined listings. Read more: managing images with 2,048 variants.

Why are my Shopify variant images not changing when I select a different option?

Common causes: no image assigned to the variant, a theme or app conflict blocking gallery updates, browser cache showing stale content, or a page builder overriding the gallery. Check variant image assignments first, then test in incognito mode, then disable other product page apps one by one. Full walkthrough: variant images not showing fix.

How much does Rubik Variant Images cost?

Free for 1 product ($0/month). Starter covers up to 100 products for $25/month. Advanced covers up to 1,000 products for $50/month. Premium is unlimited products for $75/month. All plans include the full feature set. The free plan lets you test everything on one product before upgrading.

Do variant image apps work with page builders?

It depends on the app. Rubik Variant Images supports 7 page builders: Beae, EComposer, Foxify, GemPages, Instant, PageFly, and Replo. Each builder requires specific integration since they structure product pages differently from standard Shopify themes. Check your app’s compatibility list before installing.

What is the difference between variant images and product images?

Product images are all the photos attached to a product. Variant images are the specific photos assigned to individual variants. Every variant image is a product image, but not every product image is a variant image. A size chart photo, for example, is a product image but does not belong to any specific variant.

For more answers: Shopify variant images FAQ.

Our Shopify Apps

Smart Bulk Image Upload

Bulk upload product images from Google Drive & save time!

Rubik Variant Image & Swatch

Show only relevant variant images on your product pages.

Rubik Combined Listings Swatch app

Rubik Combined Listings

Link separate products as variants with beautiful swatches

CS – Export Product Images

Bulk export product images by vendor, collection or status

Blog Posts