Get the template
Products → Export → All products → Include headers. Downloads CSV with all Shopify's required columns. Delete rows, keep column headers.
Key columns
- Handle (product URL slug)
- Title (product name)
- Option1 Name / Option1 Value (Size / Small)
- Option2 Name / Option2 Value (Color / Red)
- Option3 Name / Option3 Value (Material / Cotton)
- Variant SKU
- Variant Price
- Variant Inventory Qty
- Variant Weight
One row per variant
Each row = one variant. Same Handle across rows = same product. Vary Option values to create variants.
Common errors
- Missing Handle on row = variant orphaned
- Non-unique SKU = import fails
- Weight unit mismatch (g vs kg) = wrong shipping
Frequently asked questions
How to import Shopify variants via CSV?
Products → Import → upload CSV. Each row = one variant. Same Handle across rows = same product.
What columns are required in variant CSV?
Handle, Title, Option1 Name, Option1 Value, Variant SKU, Variant Price, Variant Inventory Qty.
Can CSV import add 500+ variants at once?
Yes. Up to 2,048 variants per product supported since Oct 2025.
How to add variant images via CSV?
Image Src column with image URL. Shopify downloads + associates.
Common CSV import error causes?
Non-unique SKU, missing Handle, weight unit mismatch, invalid Compare-at price (higher than Price).
How long does CSV import take?
~1-5 minutes for 100-500 variants. Shopify imports asynchronously.
Can I update existing variants via CSV?
Yes. Handle + Option values match = update. Otherwise = create new.
Can I delete variants via CSV?
Not directly. Use bulk editor or admin API for deletion.
Related reading
Try it free on Shopify
Print It My Way's permanent Free plan includes live preview, custom options, and Cart Transform pricing.
Install Print It My Way