Shopify product limits: variants, options, images & more (2026)
Complete reference for Shopify product limits in 2026: maximum variants per product (100), option types (3), images (250), title length, SKU format, metafield limits, and how they affect WooCommerce migrations.
Shopify enforces strict limits on product data that differ significantly from WooCommerce. If you're migrating from WooCommerce, these limits determine what products can be imported as-is and which ones need to be restructured. This article covers every limit that matters for migrations.
Quick reference: Shopify product limits
| Data type | Shopify limit | WooCommerce equivalent |
|---|---|---|
| Variants per product | 100 | No hard limit (plugin-dependent) |
| Option types per product | 3 | No hard limit |
| Option values per option type | 255 | No hard limit |
| Images per product | 250 | No hard limit |
| Product title length | 255 characters | No hard limit |
| Product description | No limit (HTML) | No limit |
| Handle (URL slug) length | 255 characters | No limit |
| SKU length | 255 characters | No limit |
| Barcode length | 255 characters | No limit |
| Tags per product | 250 | No limit |
| Tag length | 255 characters | No limit |
| Metafields per resource | No limit | No limit |
| Metafield value length | 10 MB (single_line_text_field: 5000 chars) | No limit |
| Products per store (all plans) | No limit | No limit |
The 100 variant limit — the most common migration problem
The 100 variant limit is the single most common issue encountered during WooCommerce to Shopify migrations. It affects any product with many combinations of attributes.
How to calculate your variant count
Shopify's variant count is the product of all option value counts:
- 3 sizes × 4 colors × 2 materials = 24 variants — fine
- 5 sizes × 5 colors × 5 materials = 125 variants — exceeds limit
- 10 sizes × 10 colors = 100 variants — exactly at the limit
- 10 sizes × 11 colors = 110 variants — exceeds limit
This matters even if you don't actually sell every combination. Shopify creates all possible variants when you define options — you can't define 5 sizes and 30 colors without Shopify expecting 150 variants.
Solutions for products over 100 variants
If your WooCommerce store has products exceeding 100 variants, you have a few options:
- Split into multiple products: Create separate Shopify products (e.g., "T-Shirt — Blues" and "T-Shirt — Reds"). Link them via metafields or use a product grouping app. This is the most common solution.
- Remove low-traffic variants: Use analytics to identify which variant combinations are rarely or never purchased and remove them. A product with 150 variants might be reducible to 80 by removing 5 unpopular colors.
- Consolidate option types: Instead of separate Size and Fit options, combine them ("S / Regular", "S / Slim", "M / Regular"...). This reduces the number of combinations.
- Use metafields for non-variant attributes: If some attributes don't affect price or inventory (like "care instructions" or "material composition"), move them to metafields instead of variants.
The 3 option types limit
Shopify allows a maximum of 3 option types per product (e.g., Size, Color, Material). WooCommerce has no such limit.
Most products work fine with 3 options. Problems arise for:
- Custom product builders (personalization fields, printing options)
- Complex apparel with fit, size, color, and length
- Products with more than 3 variable attributes
The solution is the same as for the variant limit: consolidate options or use metafields/bundles for attributes that don't affect price/inventory.
Product title and handle limits
Shopify truncates titles and handles at 255 characters. WooCommerce has no such limit.
In practice, most product titles are well under 255 characters. The issues tend to arise with:
- WooCommerce stores that generate long SEO-optimized titles automatically
- B2B stores with technical part names and descriptions as titles
- Stores that include attributes in titles ("Blue Widget XL Heavy Duty Stainless Steel...")
Tools like k-sync flag titles over 255 characters during validation and can auto-truncate them. If you're doing a large migration, check your title lengths in advance: SELECT COUNT(*) FROM products WHERE CHAR_LENGTH(name) > 255 in your WooCommerce database.
Image limits
250 images per product is rarely an issue in practice. However:
- Products with many color variants sometimes have one image per variant × many variants = many images
- Photography stores or detailed technical products occasionally have 100+ images
Note that Shopify images are hosted by Shopify — you provide a URL and Shopify fetches and re-hosts the image. You don't need to upload image files directly during migration.
SKU and barcode format
Shopify doesn't enforce a specific format for SKUs or barcodes — they're just text fields. However:
- SKUs must be unique per variant across the store (not just per product) for inventory tracking to work correctly
- Barcodes should be valid EAN-13, UPC, or ISBN format if you plan to use them for POS or fulfillment
- Shopify doesn't enforce barcode validity, but apps and integrations may
WooCommerce SKUs are set per product, not per variant. If your WooCommerce products have a single SKU on the parent product but multiple variations, the migration tool needs to handle this — typically by appending variant identifiers (-S, -M, -L) to the parent SKU.
Tag limits
250 tags per product with a 255-character limit per tag. This is rarely a constraint for typical stores. If you're using tags as a substitute for proper category structure, you may have products with many tags that need to be reviewed.
Metafields
Metafields are Shopify's mechanism for custom product data beyond the standard fields. There's no hard limit on how many metafields you can have per product, but:
- Single-line text metafields: 5,000 characters max
- Multi-line text: larger limits
- List metafields: up to 10 values per list
- File references: up to 50 per list
WooCommerce custom fields (wp_postmeta) can be migrated to Shopify metafields. This requires defining the metafield namespace and key in Shopify first, then importing values via API.
What this means for your migration
Before you migrate: audit your WooCommerce products
- Find products with over 100 variant combinations
- Find products with more than 3 attribute types
- Find products with titles over 255 characters
- Check for SKU uniqueness violations (duplicate SKUs across products)
k-sync's validation engine flags all of these during migration. After importing your WooCommerce products and applying field mappings, the validation step checks each product against Shopify's constraints before anything is pushed.
Handling variant-heavy products
The most common resolution for products over 100 variants is splitting them in WooCommerce before migrating, then migrating the split products. Alternatively, split after import in k-sync — you can duplicate a product in k-sync and remove variants from each copy before pushing.
Shopify vs WooCommerce: structural differences that affect migration
| Concept | WooCommerce | Shopify equivalent |
|---|---|---|
| Variable product | Product with attributes and variations | Product with options and variants |
| Attributes | Global or local, any number | Options, max 3 per product |
| Variation | Specific combination of attributes, up to any count | Variant, max 100 per product |
| Product categories | Hierarchical taxonomy | Collections (manual or smart) |
| Product tags | Flat tags | Flat tags (same) |
| Custom fields | wp_postmeta (unlimited) | Metafields (limited format per type) |
| Product type | Simple, Variable, Grouped, External | All standard products use same type |
| Downloadable products | Native support | Via Shopify Digital Downloads app |
Understanding these structural differences helps set expectations before you start migrating. Products that fit cleanly into Shopify's model migrate automatically. Products that push against limits (primarily the variant and option constraints) need preparation.
Migrate your store with k-sync
Connect your WooCommerce store, validate your products, and push to Shopify in minutes. Free for up to 50 products.
Get started freeRelated reading
Migrating a luggage and travel accessories store from WooCommerce to Shopify (2026)
How to migrate a luggage, travel bags, or travel accessories WooCommerce store to Shopify — luggage specifications, airline compliance, TSA lock, warranty and durability claims, and luggage retail Shopify setup.
Migrating a motorcycle accessories store from WooCommerce to Shopify (2026)
How to migrate a motorcycle accessories, biker gear, or motorbike parts WooCommerce store to Shopify — helmet safety standards, CE-rated protective clothing, type approval for parts, fitment compatibility, and motorcycle retail Shopify setup.