The short version
Add variants from the Variants section of a Shopify product: name up to three options, such as size and color, enter their values, and Shopify generates the combinations, so a shirt in 3 sizes and 4 colors becomes 12 variants, each with its own price, SKU, stock and image. A product can hold up to 2,048 variants, but some third-party themes, apps and sales channels might not support more than 100 variants, so check yours before a product passes that line.
When three options or 2,048 variants are not enough, Shopify points to an options app or theme code with line item properties, and, on Plus and enterprise plans only, Combined Listings shows separate products as one listing.
Shopify builds variants out of options. You name the ways a product varies — size, color, material — enter the values, and every combination becomes a variant that carries its own price, SKU, stock and image.
This guide walks through adding and editing variants in the admin, the bulk editor and a CSV file, finding a variant ID, and what to do when three options or the variant ceiling stop fitting your product.
How Do Options Become Variants in Shopify?
Key takeaway
Shopify describes variants as a way to offer different versions of a product, such as sizes and colors, so customers can find exactly what they want. The definition is worth reading word for word, because everything else on this page follows from it:
You can add variants to a product that comes in more than one option, such as size or color, and each combination of option values for a product can be a variant for that product.
Option, option value, variant
| Term | What it is | In the T-shirt example |
|---|---|---|
| Option | A way the product varies that the shopper chooses from. A product can have up to 3, and the set can differ from product to product. | Size; Color |
| Option value | One choice inside an option. | Small, Medium, Large; Blue and three other colors |
| Variant | One combination of option values, with its own price, inventory and shipping settings. | Small / Blue |
Definitions from Shopify's Variants and Adding variants pages, read October 7, 2026. Shopify's own example of one variant is a small, blue T-shirt.
Multiply the values to see where a product is heading. Shopify's SKU guide uses a shirt sold in 3 sizes and 4 colors: 3 × 4 = 12 variants, and because each product and variant must have its own unique SKU, 12 different SKUs.
Every value multiplies rather than adds. Give that same shirt a third option with two materials and it becomes 24 variants. The options themselves are set per product, so a mug can vary by size alone while the shirt varies by size and color. Before the count passes 100, check the variant limits below.
How to Add Variants to a Shopify Product
Key takeaway
Variants live on the product details page, in a section of their own. The steps below follow the desktop admin; in the mobile app the same button reads + Add options like color, size, etc.
Add options and values to a new product
Key takeaway
If you want a color option shown as swatches, set the product's category first and build that option from its category metafield, as the swatches section below explains.
- In your Shopify admin, go to Products and open the product.
- In the Variants section, click + Add options like size or color.
- Enter the option name, such as Size, and its values, such as Small, Medium and Large. Add a second or third option the same way.
- Save, then review the variant list: Shopify has turned the values into variant combinations.
- Open each variant to set its Price, Inventory and Shipping. Once a product has variants, those settings are adjusted for each variant from the variant details page, not from the product details page.
Add a value or a single variant to an existing product
Key takeaway
Adding a value is the fast route. Give the 12-variant shirt a fifth color and Shopify creates its three size combinations in one step, because a new value quickly generates the multiple new variant combinations.
Adding a variant by hand, or duplicating one, creates only a single variant — the right tool when one combination is missing. You can't save an exact duplicate of a variant that already exists, and when you duplicate in bulk, a variant that already exists isn't copied a second time.
In both routes you can give the new variants their own images, prices, quantities, SKUs, barcodes, HS codes, country/region of origin and locations, or use the defaults based on the product details.
A new option works differently from a new value. To add one, click + Add another option and enter the option name and a default option value, which the variants you already have take on.
If you prefer to watch it on screen, Professor Commerce's 2024 walk-through has chapters on adding and editing variants, variant images, variant prices and the variant picker. It was recorded in the 2024 admin, before the October 2025 limit change, so use it for the layout of the screens and take the current limits from the section on limits below.
What Each Variant Can Have of Its Own
Key takeaway
The first thing that changes when you add variants is where the settings live. On a product without variants, price, inventory and shipping sit on the product details page; once variants exist, each variant holds its own, edited from its own details page.
What a variant holds on its own
| Field | What it is | What to know |
|---|---|---|
| Price and compare-at price | What the variant sells for; a compare-at price displays the original price when you lower it. | Set on each variant once the product has variants; both are columns in the bulk editor. |
| Cost per item | The cost to you of the product or variant. | Shopify's definition names the variant explicitly, so each variant carries its own cost. |
| SKU | Your stock-keeping identifier. | Each product and variant must have its own unique SKU — the 12-variant shirt needs 12. |
| Barcode | Product codes, up to 20 per product or variant. | The same barcode value can't be used twice on the same product or variant. |
| Inventory | The stock count, per variant and per location. | Track quantity is switched on per variant: click the variant you want to track, then set it in Inventory. |
| Weight | Part of the Shipping settings, shown when the item is a physical product. | Must be exact, because Shopify uses it to calculate shipping rates. |
| HS code and country/region of origin | Customs details for the variant. | Can be added when you add a value, add a variant by hand or duplicate one, or left to the defaults from the product details. |
| Image | One media item from the product's media list. | Images only — see the next section. |
Sources: Shopify Help Center — product details page, SKU guide, Adding variants and first-time inventory setup, read October 7, 2026.
Two codes on one variant are fine as long as they differ. Whether two different variants may share one barcode is a separate question, answered in can two Shopify variants share the same barcode.
Stock is counted per variant and per location, so a store selling from more than one place sets each variant's quantity at each location. How Shopify routes those counts between locations is covered in our multi-location inventory guide.
Variant images: one image per variant
Key takeaway
Upload images to the product first, then assign them. A product can have up to 250 media items, such as images, and each variant can have one media item applied, which must be from the product's media list.
The media type is restricted too: product variants don't support other types of media, such as 3D models or videos, and you can only add one image to each product variant. For a second or third photo of the same color, Shopify's answer is the product's media gallery, which can display additional images for a variant option.
How the 250-item ceiling plays out across a wide color range is worked through in how many images and media files one Shopify product can have.
How to Edit, Reorder and Remove Variants
Key takeaway
You can add, remove, or edit variant options and option values from the product's Variants section on desktop, or its Options section in the mobile app. Which tool to reach for depends on how many variants the change touches.
Rename options and change their order
Key takeaway
Order matters because shoppers see it: variant options and values display to customers in a particular order, and Shopify's editing guide lets you set that order yourself. Put the option a shopper decides on first at the top.
- Rename an option: click Edit next to the option, then enter the new option name.
- Reorder options: use the drag-and-drop handles ⋮⋮ next to each option.
- Reorder values: click Edit next to the option, then drag the values by their ⋮⋮ handles.
- Remove a value: delete it from the option — unless it is the only value listed, in which case you delete the option entirely.
Edit many variants at once
Key takeaway
Small changes don't need a separate tool: you can change some variant details, such as the image, price and the quantity at a location, from the product details page itself. For more, the bulk editor makes changes to all details for multiple variants at one time.
The bulk editor lays the variants out as a table in which each column is a property — price, SKU, compare-at price. One exception catches people out: when a product has multiple variants, you can only bulk edit its inventory from the Inventory section of the admin.
When you group the variant list by an option, the top level variant of a group isn't a unique variant. A price or image you set on that top row changes every variant in the group — edit a row inside the group when you mean one variant.
Unpublish a variant instead of deleting it
Key takeaway
Shopify's own advice is to manage publishing rather than delete when you want to stop selling a variant but keep it in your admin for historical data or to republish at a later date. What deleting does to past orders and reports is answered in what happens to order data when you delete a Shopify variant.
Publishing variants works per sales channel and per catalog, with three rules to keep in mind:
- A variant appears in a sales channel or catalog only when both the parent product and the variant are published to it.
- If every variant of a product is unpublished from a channel or catalog, the whole product is hidden there until you republish at least one variant.
- You can't set a publishing date for an individual variant.
To delete one variant, click it in the product's Variants section, then click Delete variant and click Delete variant again. To delete multiple variants at one time, use a bulk action.
Retiring the variants altogether is a different move. If you no longer want to sell a product with variants, you need to delete all its variant options and values, including the default; otherwise, the drop-down menu to select a variant continues to display to your customers.
Importing Variants by CSV Without Losing Data
Key takeaway
A product CSV file is the tool for a catalog-wide change, and it follows the same rule as the admin: a product can have up to 3 options. To import a brand-new product, Title is the only required column unless you're adding variants for it, when the URL handle column is required too. The risk sits in files that update products which already have variants.
If you don't include the Option1 name and Option1 value columns, then a new default variant is created and existing variants are deleted. And changing data in the Option1, Option2 or Option3 value columns deletes the existing variant IDs and creates new ones. Any change to variant IDs can break third-party dependencies on them, such as an app's records.
One more gap: variant metafields aren't supported for product CSV import or export, so values stored there don't move with the file.
The daily upload limit for very large catalogs
Volume only matters at the very top end. If your store already holds 500,000 or more variants, uploads through an app or CSV import are subject to a daily rate limit: you can add up to 10,000 new variants in a day before the limit is reached, so a bigger import runs over several days. On the Shopify Plus plan the daily rate limit doesn't apply.
Category Metafields as Options and Color Swatches
Key takeaway
Instead of typing a free-text option, you can use category metafields to create variant options. The payoff is visual: when you use color entries as variant options, you can display them as swatches for color options on your storefront product pages.
The theme decides whether those swatches appear. To complete Shopify's category-metafield setup you need a theme that supports variant options with swatches; a vintage theme needs code changes or a Shopify Partner. For Dawn, Shopify specifies the latest version. Whatever theme you run, check its documentation for swatch support before converting your options.
The category itself has one boundary to plan around: a product can have only one product category, and it applies to all its variants, as Shopify's product details page states.
Shopify's product category page states that attributes aren't supported in the Search and Discovery and Shopify Bundles apps, while Shopify's swatch tutorial says you can also add color swatches to your store filters with the Search and Discovery app. The two pages disagree on Search and Discovery; the Shopify Bundles half is not in question. If your storefront filters run on Search & Discovery, or the product goes into a Shopify Bundles bundle, test the result before switching text options to category metafield options.
Category metafields are one kind of Shopify metafield. How metafields and metaobjects hold the rest of your product data is covered in our Shopify metafields guide.
Amine Ammari's short 2024 video shows the category-metafield swatch setup on screen. It is a third-party walk-through whose description links a swatch guide for Dawn, so confirm that your own theme supports swatches before following it.
How to Find a Shopify Variant ID
Key takeaway
- In your Shopify admin, go to Products and open the product.
- In the Variants section, click the variant.
- Look at the browser address bar: the number after
/variants/is the variant ID.
A product that has no variants still has a variant ID assigned to it, but it isn't displayed in the address bar; Shopify's variant ID guide gives a separate method for that case.
For many IDs at once, go to Analytics: the Product variant ID dimension is available in custom data explorations, under Analytics > Reports > New exploration.
Shopify names two reasons a merchant needs the number: theme code customizations that target specific variants, and reconciling migration or bulk product update information with a third-party app. Because rewriting option values by CSV gives variants new IDs, collect the IDs after an import, not before.
The ID identifies the variant in your admin. How a variant is addressed on the storefront is a separate question, answered in does a Shopify product variant get its own URL handle.
Shopify Variant Limits: 2,048 Variants, 3 Options and the 100 Line
Key takeaway
Two ceilings are hard and one is practical. A product can carry up to 2,048 variants and up to three options, on every plan; the 100-variant line is where parts of your stack may stop following.
Native variant limits at a glance
| Limit | Number | Applies to |
|---|---|---|
| Variants per product | 2,048 | Every product, every plan |
| Options per product | 3 | Every product; the product CSV allows the same number |
| Variants some tools handle | 100 | Some third-party themes, theme app extensions, public apps, sales channels and custom apps might not support more |
| Stocky and legacy Order Printer | 100 | Neither app supports more than 100 variants |
| Variants a Liquid theme loads | 250 | product.variants returns at most 250; Liquid code that needs the complete set won't work as expected above that |
| Shopify Bundles | 3 options, 100 variants | Total per bundle, not per product |
Sources: Shopify Help Center, Adding variants and Shopify Bundles; shopify.dev, supporting high-variant products in themes; read October 7, 2026.
Two numbers exist because the ceiling moved. On October 15, 2025, Shopify raised the per-product ceiling from 100 to 2,048 for all merchants. Themes, apps and channels built around the old number did not all move with it, and Shopify's developer changelog said so plainly:
Please note that merchants using apps that are not using the in-support GraphQL product APIs may have a downgraded or broken experience when creating or viewing products with more than 100 variants.
So the practical test comes before the product, not after. If a product will pass 100 variants, check your theme, every app that touches products and every sales channel you publish to; a theme customization that loops over all variants has its own line at 250.
When Native Variants Aren't Enough
Key takeaway
Native variants fit when the product varies along three axes or fewer and every combination is something you stock. When it doesn't, Shopify's own note names the exits: to create a product with more than 2,048 variants or more than three options, you can use a third-party app from the Shopify App Store, or customize your theme code to extract line item properties. Find your product's row:
Which setup fits your product
| Your product | Setup | What to know |
|---|---|---|
| Varies by up to three options, and every combination is stocked and priced | Native variants | Up to 2,048 per product; check your theme, apps and channels before a product passes 100 |
| Needs a fourth option, or more combinations than the variant ceiling | An options app, or theme code with line item properties | The two routes Shopify names; per ShopPad's documentation, apps can't create Shopify variants, and Infinite Options' choices don't track stock unless linked to a Shopify add-on product |
| Takes the shopper's own input — engraving text, an uploaded file | Line item properties | Collected by theme code; each different input becomes its own cart line |
| Each color needs its own title, description, URL or image gallery | Combined Listings | Plus and enterprise plans only; separate products shown as variants |
| Sold as a bundle with its own options | Shopify Bundles | Up to 3 options and 100 variants per bundle |
Routes and limits from Shopify Help Center pages on adding variants, Combined Listings and Shopify Bundles, and shopify.dev theme documentation, read October 7, 2026. The options-app row cites ShopPad's documentation for Infinite Options, one vendor.
Bundles carry rules of their own beyond those two numbers; which bundle setup fits is compared in native versus paid bundle apps.
Selling wholesale through B2B catalogs raises one more variant question, and whether quantity rules count across variants has its own answer.
Combined Listings: separate products shown as variants
Key takeaway
A combined listing is a product type created by connecting separate products from your store into a single product listing. On the storefront the products display as variants, but each can carry details not usually available at the variant level — a title, description, unique URL or image gallery.
The Shopify Combined Listings app is available only on Plus and enterprise commerce plans. Its boundaries:
- Up to 60 products per listing, and a product can be in only one combined listing at a time.
- By default, up to 2,048 variants across all child products, and up to 3 options in addition to the options in each product.
- Displays on free Shopify themes in version 15.0.0 or later; other themes may need code changes.
- Can't be added to a product bundle or sold as a subscription product.
- When you filter product options with the Shopify Search & Discovery app, child products aren't included in the filter results.
Setup steps and the options below Plus are in our Shopify Combined Listings guide.
Whether each child product keeps a page of its own is answered in does a combined listing child product keep its own page.
Line item properties: custom input without new variants
Key takeaway
Line item properties consist of a name and value pair, and Shopify's product template documentation describes them as the way to let customers customize orders or provide supplementary information for a variant they add to the cart.
They are not variants: nothing new appears in your variant list. And if two of the same item go into the cart with unique properties, the cart documentation says they are split into separate line items.
What they do to price is the part to check before relying on them. As of October 7, 2026, none of the Shopify pages we read — the Adding variants, Editing variants, Variants and product details pages in the Help Center, and the product template, cart template and line_item references on shopify.dev — states whether line item properties change the price of a cart line.
Price changes are described separately, in the reference for Cart Transform functions: its example reads a cart line attribute to add a priced gift-wrap add-on through an expand operation, while update operations, which override a line's price, are available only to development stores and Shopify Plus stores through apps.
Options apps: more choices, not more variants
Key takeaway
Shopify's note on going past its variant and option ceilings names a third-party app from the Shopify App Store as one route. What such an app adds is choices, not variants — and one vendor says so outright. ShopPad, which makes Infinite Options, documents the mechanism.
According to ShopPad's documentation, apps like Infinite Options let you create unlimited options such as checkboxes, radio buttons, text fields, swatches and drop-down menus, but 3rd party apps cannot create Shopify variants, and its options do not track or affect inventory. The same page still describes Shopify's old 100-variant limit, so take the mechanism from it, not the number.
Stock can be brought back for a single choice: the app's inventory guide says you can track an option selection by linking its price with a Shopify product, and that inventory is then controlled by Shopify. The side effect it warns about: a main product can show as Sold out while it has stock, and the likely cause is a linked add-on product that is out of stock.
Which class of options or configurator app fits a product, and what each costs, is compared in the configurator guide's app breakdown.
Variant Setup Checklist
Key takeaway
Use this list on every new product with variants. Progress is saved in this browser, so you can stop mid-catalog and pick up where you left off.
Setting up a product with variantsTick each step as you finish it on the product in your admin.
Setting up a product with variants
Tick each step as you finish it on the product in your admin.
Choose the category before adding options, so its category metafields, such as color, can become variant options and swatches.
Before you tick this off
- The category fits every variant, since one category applies to all of them
- You know whether your theme supports variant options with swatches
In the Variants section, click + Add options like size or color, name each option and enter its values.
Before you tick this off
- No product needs a fourth option; if one does, plan the options-app or line-item-property route
- The values multiplied out give a variant count your theme, apps and channels can handle
Delete combinations you never stocked; unpublish ones that have sold before, so their history stays in the admin.
Before you tick this off
- Combinations with past orders are unpublished, not deleted
- Each remaining variant is published to the channels where it should appear
Open each variant, or the bulk editor for many, and enter its price and compare-at price.
Before you tick this off
- Every variant has its own price, not a value left over from the product
- If you grouped the list by an option, you edited rows inside the group, not the group's top row
Enter a unique SKU for each variant and its barcodes, never the same barcode value twice on one variant.
Before you tick this off
- No two variants share a SKU
- Barcodes are entered on the variant they belong to
Click each variant, turn on Track quantity, set its quantity at each location, and enter an exact weight for shipping rates.
Before you tick this off
- Track quantity is on for every variant you stock
- Each variant's weight is exact, not an estimate
Upload the photos to the product's media first, then assign one image to each variant from that list.
Before you tick this off
- Every variant image is an image, not a video or 3D model
- Extra photos of one color sit in the product's media gallery
Drag options and values into the order shoppers should see, then open the product page and test the variant picker.
Before you tick this off
- The option shoppers decide on first is at the top
- If the product has more than 100 variants, its theme, apps and channels were checked
The Bottom Line
Key takeaway
The work is mostly in the order: options before fields, images from the product's media, and an unpublish wherever a delete would erase history.
Frequently Asked Questions
Front-end developer specializing in Shopify since 2017. Experienced in building custom Liquid themes, optimizing storefront performance, and integrating third-party apps. Directs the editorial process behind Ecom Store Pro: sets its topics and the rules every AI-written page must pass before publication.
This page was written by AI. Separate AI agents that did not write it check its figures and claims against official sources and test its links and interactive tools. A human editor sets the site's editorial direction, topics and rules and checks that pages are complete and display correctly, but does not check their facts or edit their text. Details may change — always confirm critical data at shopify.com.
Editorial PolicySome links in this article are affiliate links. If you sign up for a Shopify store through these links, we may earn a commission at no extra cost to you. Read our full advertising policy.
