How to show a different size chart per Shopify variant

To show a different size chart per variant in Shopify, you assign each chart image to the variants it belongs to, then filter the product gallery so only the matching one appears when a shopper picks that option. Sounds obvious. Shopify’s native product page does not actually let you do it cleanly, which is why so many apparel and footwear stores end up with five charts crammed into one gallery or, worse, the same chart uploaded fifty times.
Picture a store with one running shoe in three colors and a men’s and women’s sizing block. The men’s chart and the women’s chart are different. The color photos are different too. On a stock Shopify theme, every one of those images sits in the same gallery, all visible at once, and the customer has to scroll past the wrong chart to find theirs. That is a conversion leak hiding in plain sight.
This post walks through why the native setup fights you, why duplicating the chart on every variant is the wrong fix (it tanks your media count and your sanity), and how to tie one chart to the right group of variants while each color still filters to its own photos. We build Rubik Variant Images, so I’ll be honest about where the line sits between a product page job and a separate product job.
In this post
- Why Shopify can’t show a size chart per variant natively
- Why duplicating the chart on every variant is the wrong fix
- The fix: shared images across options
- Handling Color and Size together
- When each color is a separate product
- Setting it up step by step
- Frequently asked questions
Why Shopify can’t show a size chart per variant natively
Shopify shows the entire product gallery at once, and variant media handling is clumsy. When you assign an image to a variant in the native admin, selecting that variant scrolls the gallery to that one image. It does not hide the rest. So your men’s chart, your women’s chart, and every color shot all stay in the strip, visible the whole time.
There’s a second problem. Shopify lets you attach an image to a single variant, but a size chart usually applies to a whole option, not one combination. A men’s chart belongs to every men’s size in every color. The native model has no clean way to say “this one image, for these twelve variants, but not those twelve.” You’d be assigning the same chart to each variant by hand. Tedious, and easy to get wrong.
And theme behavior varies. Some themes respect variant image grouping, some show a sizing tab pulled from a metafield, some do nothing at all. If you’ve ever tried to wire a chart into a theme metafield, our guide to Shopify variant metafields covers what they can and can’t carry. The short version: metafields are great for text and links, awkward for “show this image only for that variant.”

Why duplicating the chart on every variant is the wrong fix
The instinct is to upload the same chart over and over so each variant “has” one. Don’t. It’s the wrong fix for three reasons, and I see merchants pay for it later.
- You burn your media budget. Shopify caps you at 250 images per product. A catalog with multiple charts copied across dozens of variants eats that ceiling fast, and then you’re stuck on the products that actually need more photos.
- Updates become a nightmare. Change one number on the chart? Now you re-upload it in twenty places. Miss one, and a single variant quietly shows last season’s measurements.
- Page weight climbs. Even identical files add requests and bytes. One of our happiest reviews calls out exactly this: keeping variant images organized “without needing to duplicate them for each variant, which is great for page speed.”
So the goal isn’t more copies. It’s one chart, mapped to the right group of variants, shown only when it’s relevant. That’s a filtering problem, not a duplication problem.
The fix: shared images across options
The clean way to get a size chart per variant is to share one image across the options it applies to, while every color still filters to its own photos. Rubik Variant Images does this by assigning media to variant options, then filtering the product gallery so a shopper sees only the media that matches their current selection. One men’s chart can be tied to all men’s sizes at once. You upload it once. It shows for the right variants, and nothing else.
Here’s why that works. The app supports images, videos, and 3D models per variant, and lets one image belong to more than one variant. So a chart that applies to the whole “Men” option doesn’t need a copy per size. You map it to the option, and the gallery filtering takes care of the rest at the storefront. When the customer switches from a men’s size to a women’s size, the men’s chart drops out and the women’s chart appears. The color photos swap independently.
We built the filtering to be metafield-based, with no external API calls, so it loads with the page rather than waiting on a server somewhere. That matters for a product page, where every extra request is a real delay. If you want the broader mechanics of assigning more than one image to a single variant, our walkthrough on how to add multiple images to a Shopify variant goes deeper, and the piece on sharing images across all variants covers the case where one asset (like a brand banner or a single chart) should appear everywhere.
One thing worth saying plainly: a size chart is not always color-specific. Sometimes it’s the opposite, where the chart is shared but the photos are unique. That’s the exact split shared images were built for. The chart stays put across colors, the photos change per color, and you never touch a duplicate. For the inverse case (the same photo across a few variants), our note on showing the same image on multiple Shopify variants spells out the mapping.
Handling Color and Size together
What about a product with both Color and Size, where the chart depends on size group but the photos depend on color? This is where most stores get stuck, and it’s the most common version of the question we get.
Rubik Variant Images supports multi-option assignment, so you can map media per combination across Color, Size, and even Material. The practical setup looks like this: assign each color’s photos to its color value, and assign each chart to its size group. The storefront then resolves both at once. Pick “Blue” and “Men’s L,” and the customer sees the blue photos plus the men’s chart. Switch to “Red” and “Women’s S,” and the photos go red while the chart flips to women’s. Two independent filters, one product.
| Customer selects | Photos shown | Size chart shown |
|---|---|---|
| Blue, Men’s L | Blue product shots | Men’s chart |
| Blue, Women’s S | Blue product shots | Women’s chart |
| Red, Women’s M | Red product shots | Women’s chart |
No duplicates anywhere in that grid. The men’s chart exists once and serves every men’s row. The blue photos exist once and serve every blue row. If you’ve fought with per-variant images before, the foundational steps live in our guide on how to set different images per variant in Shopify, which sets up the same logic you extend here for charts.
Want to see how multiple options behave on a real storefront before committing? Our friends over at the Rubik blog break down Shopify variant images with multiple options with worked examples for Color plus Size catalogs.
“The app really delivers what it promises. I can navigate through the different options easily. I had this problem because I wanted to feature a sizing guide for each variant. […] I eventually decided to use Rubik Variant Images & Swatch. It integrated perfectly to my theme without any problem. I would recommend this app to anyone looking to solve the same problem.”
Anonymous merchant, March 2026, Rubik Variant Images on the Shopify App Store
When each color is a separate product
Some stores don’t keep colors as variants of one product. They run each color as its own product, each with a unique URL and its own SEO. If that’s your structure, the size chart lives on each product page already, and your real question is how to let shoppers hop between those color products like they were variants. That’s a grouping job, not a filtering job, and it’s where Rubik Combined Listings fits: it links separate products into one group and shows swatches on collection and product pages so customers can switch between them. You can see the approach in this breakdown of how to make separate products act like variants. Keep filtering and grouping in their lanes and you avoid a lot of confusion.
Setting it up step by step
Here’s the order that keeps it clean on a single product with Color and Size:
- Upload every photo and both charts to the product once. No copies of the charts.
- Open Rubik Variant Images and assign each color’s photos to that color option value.
- Assign the men’s chart to the men’s size values and the women’s chart to the women’s size values. One chart can cover many values.
- Turn on gallery filtering so the storefront shows only the media matching the current selection.
- Preview the product, switch colors and sizes, and confirm the chart and photos resolve independently.
For large catalogs, you won’t drag every image by hand. The app’s bulk assign reads your Shopify gallery order (each variant’s first media acts as a boundary, and following images inherit that variant) so you can process hundreds of products in the background. There’s also AI auto-assign for a single product, which reads the product title, option values, filename, and alt text plus the image itself to suggest matches. Filenames are messy in most real catalogs, which is exactly why bulk assign runs on gallery order, not filenames.
Want to see it first? Check the live variant images demo store, watch the tutorial video, or read the getting started guide.
Frequently asked questions
Can I show a different size chart per variant in Shopify without an app?
Not cleanly. Shopify’s native gallery shows every image at once and only scrolls to a variant’s image instead of hiding the others, so multiple charts stay visible. Some themes pull a chart from a metafield, but that handles text and links better than per-variant image filtering.
Do I need to upload the size chart for every variant?
No, and you shouldn’t. Duplicating the chart across variants eats your 250-image-per-product limit, makes updates error-prone, and adds page weight. With shared images you upload one chart and map it to the variants it applies to, so it shows for the right group only.
How does a size chart work with both Color and Size options?
You assign photos to color values and charts to size-group values, and the storefront resolves both filters together. Pick a color and a size, and the customer sees that color’s photos plus the matching chart. The two filters run independently, so you never need a copy per combination.
Does filtering images slow down my product page?
It shouldn’t. Rubik Variant Images is metafield-based with no external API calls, so the filtering loads with the page rather than waiting on an outside server. Avoiding duplicate chart uploads also keeps your media count and page weight down.
What if each color is a separate product instead of a variant?
Then the chart already sits on each product page, and your need is to connect the color products. Rubik Combined Listings links separate products into one group and shows swatches on collection and product pages, so shoppers switch between them like variants while each keeps its own URL.
Can one chart cover several sizes at once?
Yes. One image can belong to more than one variant, so a single men’s chart can be tied to every men’s size value in one move. You upload it once and it appears for all the variants you mapped it to, with no per-size copies.
Related reading
- How to set different images per variant in Shopify
- How to add multiple images to a Shopify variant
- Sharing images across all Shopify variants
- Shopify variant images with multiple options
- Make separate products act like variants
Map one chart, point it at the right sizes, and let each color carry its own photos. Set it up once on your busiest product and the rest of the catalog follows the same pattern.