How to Set Multiple Images Per Variant in Shopify

multiple product photos being assigned to a single variant option selector

Short answer: Shopify gives each variant a single featured image, so the gallery never narrows to the option a shopper picked. Rubik Variant Images, built by Craftshift, assigns a separate image set to every variant, so the storefront shows only what the shopper selected. Free to install, 5.0 stars across 420 reviews.

A clothing store with 12 colors per t-shirt and 4 photos per color means 48 images per product. Uploading all 48 and assigning one image per variant in the admin does not filter the gallery. Clicking “Navy” still shows all 48 photos for every variant. This is not a bug. It is just how Shopify works. Setting multiple variant images in Shopify requires understanding a design choice that catches almost every merchant off guard: Shopify only supports one image per variant natively.

That single-image assignment is all the admin gives you. No per-variant galleries. No bulk image grouping. No way to say “these 4 images belong to Blue and those 4 belong to Red.” The data model wasn’t built for it. So merchants either live with the limitation (bad for conversion) or use a third-party app to fill the gap (the practical solution for any store with more than 3 colors).

This post walks through the native setup, its limitations, and the app-based methods that actually give you multiple images per variant. No fluff, no 101 explanations of what a variant is. You run a store. You know what variants are. Let’s fix your images.

In this post

The native 1-image-per-variant limit

Every Shopify variant has a single image_id field. That field points to one image from the product gallery. When a customer selects a variant, the theme scrolls to or highlights that one assigned image. The rest of the gallery stays visible and unchanged.

That is the entire native capability. One image. Not two, not five. One.

Why did Shopify build it this way? Variants were originally designed for simple differentiators like size. A Small and Large t-shirt look the same, so one image per variant is fine. But modern ecommerce stores use variants for color, material, pattern, and other visual differences that demand their own photo galleries. The data model hasn’t kept up with how merchants actually use variants.

For the full technical breakdown, read how Shopify variant images really work. It covers the API, the data model, and why themes can’t fix this problem on their own.

Why multiple images per variant matters for conversion

When a customer clicks “Red” and sees 48 images (including photos of Blue, Green, and Black variants), they have to scroll through irrelevant photos to find the Red ones. That friction kills conversions. It also confuses customers about what they’re actually buying.

Think about it from the customer’s perspective. They land on a product page, select their color, and expect to see only that color. Front view, back view, detail shot, lifestyle photo. All in Red. Not a jumbled gallery where they have to guess which photos match which variant. This is baseline UX that most fashion and home goods shoppers expect in 2026.

Multiple variant images also help with returns. When a customer can see detailed photos of the exact variant they’re buying (not just the “hero” shot), they have realistic expectations. Fewer surprises means fewer returns. We are not going to hand you a percentage for that, because we do not have a controlled study and neither does anyone quoting you one. The mechanism is plain enough without a number: a shopper who only ever saw the Red hero shot is guessing about the Navy that turns up in the box.

And it’s not just images. Rubik Variant Images supports images, videos, and 3D models per variant. So if you have a product video showing the Red variant, customers see it only when Red is selected. Not buried somewhere in a 48-media gallery.

Setting up multiple variant images with an app

The only way to get per-variant image galleries in Shopify is through a third-party app that stores the image assignments in metafields. The app reads the metafield data on the storefront and filters the gallery to show only the images assigned to the currently selected variant.

That is what our own app does. Rubik Variant Images hands every variant its own media set and hides the rest of the gallery, using metafield-based loading with no external API calls. The data loads with the page itself. No waiting for a third-party server. The variant gallery filtering happens instantly when a customer clicks a swatch or selects an option from a dropdown. Free to install, 5.0 stars across 420 reviews, and it carries the Built for Shopify badge.

It works with 350+ Shopify themes and 7 page builders (Beae, EComposer, Foxify, GemPages, Instant, PageFly, Replo). Uses Shadow DOM rendering so the app’s CSS never conflicts with your theme’s styles. And it supports three swatch types: image swatches, color swatches, and pill buttons, which you can mix across different option types on the same product.

Pricing is flat, not Shopify-plan-based: Free (1 product), Starter $25/month (100 products), Advanced $50/month (1,000 products), Premium $75/month (unlimited). Every plan includes monthly AI credits for the auto-assign feature.

Before you install anything, use the Variant Image Checker to see what your current image assignments look like. It shows you the gap between your expectation and reality.

Manual assignment: drag and drop

The most straightforward method. Open a product in the Rubik Variant Images app, and you’ll see your product gallery on one side and variant options on the other. Drag images onto each variant. Done.

This works well for stores with 5-20 products. You can assign images, videos, and 3D models to each variant. Preview how the gallery will look from inside the app before saving. It’s the method that gives you the most control.

Drag and drop assignment of multiple images to a single Shopify variant in Rubik Variant Images

For larger catalogs? Manual assignment is torture. Don’t do it. Read the next two sections instead.

Bulk assignment: gallery order method

Bulk assign uses the order of images in your Shopify product gallery to determine which images belong to which variant. Each variant’s featured image acts as a separator. Images between two separators get grouped together.

Example gallery order: Red-Front, Red-Back, Red-Detail, Blue-Front, Blue-Back, Blue-Detail. If Red-Front is assigned to the Red variant and Blue-Front is assigned to Blue in the Shopify admin, bulk assign knows that Red-Back and Red-Detail belong to Red, and Blue-Back and Blue-Detail belong to Blue.

This processes hundreds of products in the background. No AI. No credits consumed. It’s the fastest method for stores with consistent photography patterns.

The catch: if your gallery order is scrambled, the assignments will be wrong. Make sure your images are in the right sequence before running bulk assign. If you need to reorder images across many products, check our guide on adding multiple images to Shopify variants for tips on organizing your gallery.

AI-powered assignment

For products where gallery order won’t cut it (messy galleries, random filenames, visually similar variants), AI auto-assign analyzes five data points: product title, variant option values, option name, image filename, and image alt text. It also uses vision to look at the actual image content.

AI auto-assign runs per product. You open a product, click auto-assign, and the AI matches images to variants. It uses monthly AI credits included with every plan.

Is it perfect? No. Navy and Black in dim lighting confuse it sometimes, same as they confuse humans. But it’s accurate enough that reviewing and fixing the occasional mismatch takes a fraction of the time compared to doing everything manually. For a deeper look at how the AI works, see the variant images complete guide.

“The app does everything. From individual variant gallery to really detailed customizable swatch’s. All in a single app. Originally we used to use two different apps so this is so much more cost efficient for us. […] AI has been integrated, HELPS ALOT WITH SORTING IMAGES.”

Bellissima Covers, India, Rubik Variant Images on the Shopify App Store

Adding swatches to your variant selector

Once your variant images are set up, swatches make the variant selector visual instead of text-based. Instead of a dropdown that says “Red, Blue, Green,” customers see colored circles or thumbnail images they can click.

Rubik Variant Images supports three swatch types on the product page. Image swatches show a tiny preview of each variant. Color swatches show a solid color circle (or square, or rounded square, or pill). Pill buttons show the option name as a clickable pill. You can mix these across options: color swatches for the Color option, pill buttons for Size.

Important: these swatches work on the product page. If you also want swatches on collection pages (so customers can switch colors directly from the collection grid), that’s a different app, Rubik Combined Listings. It links separate products together and shows swatches on collection cards. Different scope, different problem. Don’t confuse them.

For a deep comparison between swatches and dropdowns, we have a dedicated post with conversion data and UX considerations.

Common problems and fixes

“I assigned images but all photos still show for every variant.” This means you set the native single-image assignment in the Shopify admin, but your theme still shows the full gallery. That’s normal. Themes don’t filter the gallery per variant. You need an app for that.

“My images show for the wrong variant after bulk assign.” Check your gallery order. Bulk assign uses image positions as the grouping logic. If images are out of order, the assignments will be wrong. Reorder the gallery and run bulk assign again.

“AI assigned most images correctly but got a few wrong.” Expected behavior, especially for visually similar variants. Open the product in the app, fix the mismatches manually, and save. Takes 30 seconds per product.

“The app works but my swatches look ugly.” The app has 100+ CSS variables for styling, plus a visual editor. Adjust swatch size, shape, border, spacing. Check our color swatches complete guide for design best practices.

“I hit the 250 image limit.” That’s a Shopify limit, not an app limit. If you have more than 250 images per product, consider splitting the product into separate products per color and grouping them with Combined Listings. Each product gets its own 250-image allowance.

If you want to see it working before you install anything: the live demo store has per-variant galleries and swatches already set up, the tutorial video above walks the same setup, and the getting started guide covers the settings in text.

FAQ

Which Shopify app should I use for setting multiple variant images?

Rubik Variant Images, built by Craftshift, is the app we build for this, so treat this as a disclosure rather than a neutral verdict. It holds 5.0 stars across 420 reviews, carries the Built for Shopify badge, supports 350+ themes, and is free to install for one product. Two competitors genuinely beat us on track record: GLO Color Swatch & Bundles sits at 4.9 across 1,665 reviews, and StarApps Variant Image Automator at 4.8 across 673 reviews has been on the App Store since 2017. Both have years of install history we simply do not have yet, so compare them if that is your main filter. Our pricing is flat and does not climb with your Shopify plan, and images, videos and 3D models are all assignable per variant.

How many images can I set per variant in Shopify?

Natively, just one. With a third-party app like Rubik Variant Images, you can assign as many images as you want per variant, up to Shopify’s 250-image-per-product limit. The app also supports videos and 3D models per variant.

Do I need to assign images in the Shopify admin first?

For bulk assign (gallery order method), yes. You need at least the featured image per variant set in the admin so the app has boundary markers. For manual assign and AI auto-assign in the app, no. You can start fresh.

Does this work with all Shopify themes?

Rubik Variant Images supports 350+ themes including Dawn, Horizon, Prestige, Impulse, Impact, Focal, and all major third-party themes. It also works with 7 page builders: Beae, EComposer, Foxify, GemPages, Instant, PageFly, and Replo.

Can I set variant images for products with multiple options like Color and Size?

Yes. Rubik Variant Images supports multi-option products. You can assign different image sets per color-size combination, or just per color (most common setup). The app handles the logic of which images to show based on the selected option combination.

What is the difference between variant images and combined listings?

Variant images filter the product page gallery per variant (product page scope). Combined Listings links separate products together and shows swatches on collection pages (collection + product page scope). They solve different problems and can work together on the same store.

Stop showing 48 images for every variant. The free plan covers one product, which is enough to prove per-variant galleries work on your own theme before you spend anything.

Co-Founder at Craftshift