Ecom Store Pro

Shopify Product Variants: How to Add and Manage Them

Add options and variants to a Shopify product, set price, SKU, stock and image per variant, edit in bulk or by CSV safely, and know what to do past 3 options.

Listen to a short brief of this article
Hands-free while you multitask

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.
Shopify Help Center — Variants ·
Option, option value, variant
TermWhat it isIn the T-shirt example
OptionA 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 valueOne choice inside an option.Small, Medium, Large; Blue and three other colors
VariantOne 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.

  1. In your Shopify admin, go to Products and open the product.
  2. In the Variants section, click + Add options like size or color.
  3. 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.
  4. Save, then review the variant list: Shopify has turned the values into variant combinations.
  5. 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.

How to Correctly Add Shopify Variants, Images and Prices with the NEW Shopify AdminProfessor Commerce's 2024 walk-through of adding and editing variants, variant images, variant prices and the variant picker in the Shopify admin. Recorded before the variant limit changed on October 15, 2025.

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
FieldWhat it isWhat to know
Price and compare-at priceWhat 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 itemThe cost to you of the product or variant.Shopify's definition names the variant explicitly, so each variant carries its own cost.
SKUYour stock-keeping identifier.Each product and variant must have its own unique SKU — the 12-variant shirt needs 12.
BarcodeProduct codes, up to 20 per product or variant.The same barcode value can't be used twice on the same product or variant.
InventoryThe 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.
WeightPart 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 originCustoms 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.
ImageOne 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.

A grouped row is not a variant

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.

Two CSV mistakes that delete data

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.

Two Shopify apps to test before switching options

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 Add Color Swatches On Shopify (w/ Category Metafields)Amine Ammari's 2024 walk-through of turning a category metafield into a color option and showing it as swatches on a Shopify product page.

How to Find a Shopify Variant ID

Key takeaway
  1. In your Shopify admin, go to Products and open the product.
  2. In the Variants section, click the variant.
  3. 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
LimitNumberApplies to
Variants per product2,048Every product, every plan
Options per product3Every product; the product CSV allows the same number
Variants some tools handle100Some third-party themes, theme app extensions, public apps, sales channels and custom apps might not support more
Stocky and legacy Order Printer100Neither app supports more than 100 variants
Variants a Liquid theme loads250product.variants returns at most 250; Liquid code that needs the complete set won't work as expected above that
Shopify Bundles3 options, 100 variantsTotal 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.
Shopify — The product variant limit is now 2048 for all merchants (Shopify developer changelog) ·

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 productSetupWhat to know
Varies by up to three options, and every combination is stocked and pricedNative variantsUp 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 ceilingAn options app, or theme code with line item propertiesThe 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 fileLine item propertiesCollected by theme code; each different input becomes its own cart line
Each color needs its own title, description, URL or image galleryCombined ListingsPlus and enterprise plans only; separate products shown as variants
Sold as a bundle with its own optionsShopify BundlesUp 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.

0 of 8 done
  1. Choose the category before adding options, so its category metafields, such as color, can become variant options and swatches.

  2. In the Variants section, click + Add options like size or color, name each option and enter its values.

  3. Delete combinations you never stocked; unpublish ones that have sold before, so their history stays in the admin.

  4. Open each variant, or the bulk editor for many, and enter its price and compare-at price.

  5. Enter a unique SKU for each variant and its barcodes, never the same barcode value twice on one variant.

  6. Click each variant, turn on Track quantity, set its quantity at each location, and enter an exact weight for shipping rates.

  7. Upload the photos to the product's media first, then assign one image to each variant from that list.

  8. Drag options and values into the order shoppers should see, then open the product page and test the variant picker.

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.

Stay native while three options describe the product. Native variants keep every combination's stock, SKU and price inside Shopify, where your reports, channels and apps read them. The two places the model bites are the 100-variant line, past which some themes, apps and channels might not support a product, so you test yours before crossing it, and a CSV that rewrites option values, which gives those variants new IDs.
Your Next Step by Stage
Before a channel launchGive every variant its own barcode, and decide which codes need to be licensed for the channels you sell on.Shopify barcodes guide
Past three optionsCompare the classes of options and configurator apps — what each can carry, where each breaks, and what it costs.Product configurator guide
Theme codeLine item properties, or changing a theme that doesn't handle more than 100 or 250 variants, is theme code work. Get it scoped before anyone touches the template.Get a scoped quote

Planning a Catalog Past 100 Variants or Three Options?

We map each product's options against the three-option and 2,048-variant ceilings and the 100-variant line where some themes, apps and channels might stop, then hand you the setup per product: native variants, an options app or, on Plus and enterprise plans only, Combined Listings. Nothing changes in your store without your sign-off.

Get your variant setup mapped

Frequently Asked Questions

In your Shopify admin, open the product and, in the Variants section, click + Add options like size or color. Enter an option name such as Size and its values, add up to two more options the same way, and save. Shopify generates the combinations, and each variant then takes its own price, inventory and shipping settings on its details page.
Up to 2,048 variants per product, on every plan, since Shopify raised the ceiling from 100 on October 15, 2025. In practice 100 still matters: some third-party themes, theme app extensions, public apps and sales channels might not support more, and the Stocky app and the legacy Order Printer app don't. Check your theme, apps and channels before a product passes 100.
No. Each product can have up to three options, and the product CSV allows the same three. For a fourth choice, Shopify points to a third-party app from the Shopify App Store or theme code that collects line item properties. Line item properties don't create variants, and ShopPad's documentation says third-party apps can't either, so check how an app handles stock.
Once a product has variants, price is set per variant: open the variant from the product's Variants section and enter its price and, for a sale, a compare-at price that shows the original. For many variants at once, use the bulk editor, where price, SKU and compare-at price are columns. Careful with grouped rows: a group's top row isn't a single variant.
Upload the photos to the product first, then assign one to each variant: every variant can have one media item applied, and it must come from the product's media list, which holds up to 250 items. Variants don't take videos or 3D models. Extra photos of one color go in the product's media gallery, which Shopify suggests for additional images of a variant option.
Open the product in your admin and click the variant: the number after /variants/ in the browser address bar is the variant ID. A product without variants still has one, though it isn't shown there, and Analytics can list IDs through the Product variant ID dimension in a custom exploration. Changing option values by CSV creates new IDs, so collect them afterwards.
Usually not. Shopify suggests managing publishing instead when you want to stop selling a variant but keep it in your admin for historical data or to republish later. A variant appears in a sales channel only when both it and its product are published there, and if every variant is unpublished from a channel, the product is hidden from that channel.
Yes. The product CSV handles variants with up to 3 options, but two rules protect your data. If the file leaves out the Option1 name and Option1 value columns, Shopify creates a new default variant and deletes the existing ones. Changing Option1, Option2 or Option3 values deletes the old variant IDs and creates new ones. Variant metafields aren't supported in CSV import or export.
Only for very large stores. If your store has 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. On the Shopify Plus plan the daily rate limit doesn't apply. Plan a bigger import over several days.
Assign the product a category, then build the color option from its category metafield instead of free text; color entries used as variant options can display as swatches on product pages. Your theme must support variant options with swatches, and on Dawn Shopify requires the latest version. Category attributes aren't supported in Shopify Bundles; Shopify's pages disagree on Search and Discovery: test your filters.
A combined listing connects separate products from your store into one listing that shows them as variants, while each can keep details a variant can't, such as its own title, description, URL and image gallery. The Shopify Combined Listings app is available only on Plus and enterprise plans. A listing takes up to 60 products, and a product can be in only one listing.
Shopify's pages we read don't say either way: as of October 7, 2026, the Help Center variant pages and the shopify.dev product, cart and line_item references describe properties as name-and-value pairs. Cart Transform covers price: its example reads a cart line attribute to add a priced gift-wrap add-on, while its price-overriding update operations are only for development and Shopify Plus stores through apps.
About This Article
Shopify Developer & Editorial Director
9+ years with Shopify since 2017

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 Policy

Some 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.

Continue Learning

What to Read Next

Stay updated

Get notified about new articles

Subscribe to receive updates when we publish new Shopify guides and insights.