In brief
- A Shopify product can have at most three options; the Admin API rejects a fourth with the error "Can only specify a maximum of 3 options".2
- Since 15 October 2025 every Shopify store can create up to 2,048 variants per product, but apps still using the older REST product APIs may break above 100 variants.1
- WooCommerce "Any" variations have no Shopify equivalent and must be expanded into one variant per real combination.6
- Only attributes that change price, stock, SKU or image need to be Shopify options; descriptive attributes belong in metafields, and personalisation belongs in line item properties.45
How WooCommerce and Shopify model variations
Both platforms end up with the same thing at checkout, a specific sellable item with its own price, stock and SKU. They get there differently, and the differences decide how much restructuring a migration needs.
| WooCommerce | Shopify | What to watch |
|---|---|---|
| Variable product | Product with options | One product in both systems. |
| Attribute used for variations | Option (max 3) | A product with four or more variation attributes needs restructuring.2 |
| Variation | Variant | Price, compare-at price, SKU, barcode, weight, stock and image move per variant. |
| "Any Size" style variation | No equivalent | WooCommerce matches the first variation from top to bottom;6 Shopify needs each combination listed. |
| Attribute not used for variations | Metafield | Material, origin or care details become product metafields shown in the theme. |
| Global attribute terms (e.g. color swatches) | Option values, optionally linked to metafields | Shopify can link option values to structured metaobjects, which powers swatches and taxonomy.5 |
| Product add-ons (engraving, gift note) | Line item properties | Collected on the product form and attached to the cart line; they do not create variants.4 |
The limits that matter
| Limit | Value | Source |
|---|---|---|
| Options per product | 3 | Admin API error OPTIONS_OVER_LIMIT2 |
| Variants per product | 2,048 | All plans since 15 Oct 20251 |
| Where older apps may break | > 100 variants | Apps not on the GraphQL product APIs1 |
| Options on a combined listing | 3 + 3 | Parent adds up to three options; Plus only3 |
| Child products per combined listing | 60 | Up to 2,000 variants across children3 |
Combined listings are not a general fix
They require Shopify Plus, sell only through the Online Store channel, cannot be sold through POS or with subscriptions, and cannot be bundles.3 For most stores the strategies below are the practical route.
Check a product: option calculator
List a WooCommerce product's variation attributes, how many values each has, and what each one really does. The calculator counts combinations against Shopify's limits and suggests a structure. Nothing you type leaves this page.
Five ways to restructure products that don't fit
1. Keep only attributes that change something sellable
An option should exist only if it changes price, stock, SKU or image. WooCommerce stores often mark descriptive attributes such as Material or Care as "used for variations" even though every variation shares the same value. Move those to product metafields and the option count usually drops below three without any customer-facing change.
2. Merge two options into one
When two attributes always travel together, combine them: Color and Pattern become a single option with values like "Navy / Stripe". This keeps stock and price per combination intact. It works best when only some combinations exist, because the merged option lists real combinations rather than a full grid.
3. Turn personalisation into line item properties
Engraving text, gift messages, monograms and uploads don't change stock, so they don't need to be variants. Shopify themes collect them as line item properties inside the product form, and they travel with the cart line to the order.4 If a personalisation adds a fee, plan for an options app or a separate add-on product.
4. Split into separate products and link them
When one attribute really defines a different item, such as Fit (Regular, Slim) or Model, split the product and link the siblings on the product page with a metafield or a swatch row. Each product gets its own URL, images and search presence. On Shopify Plus, combined listings can present the siblings as a single product with up to six options.3
5. Expand "Any" variations
A WooCommerce variation set to "Any Size" covers every size with one row, and WooCommerce uses the first matching variation from top to bottom.6 Shopify has no wildcard, so each size becomes its own variant. Decide before import how stock is split across the new variants, because a single shared stock count does not carry over.
Worked example: a T-shirt with four attributes
A WooCommerce T-shirt uses Size (6 values), Color (8), Fit (2) and Sleeve (2). That is four variation attributes and 192 possible combinations, so it cannot be imported as it is.
| Approach | Result on Shopify | Trade-off |
|---|---|---|
| Split by Fit | 2 products × Size, Color, Sleeve = 96 variants each | Two URLs; link them as siblings |
| Merge Fit and Sleeve | 1 product: Size, Color, "Regular / Short" style option (4 values) = 192 variants | Longer option labels |
| Sleeve as separate products | 2 products × Size, Color, Fit = 96 variants each | Best when sleeve length changes images and price |
All three stay far below the 2,048-variant ceiling.1 The right choice depends on which attribute customers search for and whether it changes photos: if shoppers look for "slim fit shirts", splitting by Fit also gives you a page that can rank for it.
Variation checklist before import
- Export every variable product with its attribute count and flag those with more than three variation attributes.
- Remove "used for variations" from attributes that don't change price, stock, SKU or image, and plan them as metafields.
- List every "Any" variation and decide how its stock splits across the expanded variants.
- Keep SKUs identical so inventory, feeds and fulfilment systems still match.
- Check variant images: assign an image to each variant whose color or finish changes the photo.
- Confirm every app you keep uses Shopify's GraphQL product APIs if any product exceeds 100 variants.1
- Create 301 redirects for any product you split, so the old URL points to the most relevant new product.
The free readiness scanner estimates how many of your products exceed the 3-option limit before you start, and the full migration checklist covers everything else.
Rather not restructure hundreds of products by hand?
- Every product above the limit identified
- Merge, split or metafield plan per product
- SKUs, stock and prices kept intact
- 301 redirects for every split product
- Preview the result before you pay
- Fixed price in writing
Frequently asked questions
How many variants can a Shopify product have?
Up to 2,048 variants per product on every Shopify plan since 15 October 2025. Before that the limit was 100, and apps that still use Shopify's older REST product APIs may not work correctly above 100 variants.
Can I get more than three options on Shopify?
Not on a single product. On Shopify Plus, combined listings group separate child products under a parent that adds up to three more options, for a total of six. On other plans, merge options, split products or move non-stock attributes to metafields or line item properties.
What happens to WooCommerce "Any" variations?
Shopify has no wildcard variant. Each value covered by an "Any" variation becomes its own variant, so you need to decide how stock is split across them before importing.
Do line item properties track inventory?
No. Line item properties store information such as engraving text on the cart line and order. They are not variants, so they have no stock or SKU of their own.
Will splitting a product hurt SEO?
Not if the old WooCommerce URL redirects to the most relevant new product. Splitting can help when shoppers search for the attribute you split by, because each new product gets its own page.
Sources
- Shopify. The product variant limit is now 2048 for all merchants, developer changelog, 15 October 2025.
- Shopify. productOptionsCreate, GraphQL Admin API reference, example "Creating too many product options returns an error".
- Shopify. About combined listings, including limitations.
- Shopify. Product template: line item properties.
- Shopify. Link metafields to product options.
- WooCommerce. Variable products documentation.
Mufatech Studio migrates stores to Shopify. Limits are quoted from Shopify's and WooCommerce's own documentation as of September 2026.