Upload products in bulk with CSV
Loading hundreds of products one at a time is slow. The bulk CSV upload lets you add every product, variant, image, price, SKU, inventory level, and SEO field in a single file — perfect for migrations, catalog launches, and seasonal refreshes.
Open the bulk upload screen
- Sign in to your admin (bulk upload is desktop only).
- Go to Products.
- Click the dropdown next to Add product and choose Bulk upload products.
- Click Download sample CSV to get the template.
Fill in the CSV
Open the template in Excel, Numbers, or Google Sheets. Each row is one product or one variant. Required columns are marked with *.
| Column | What it is | Notes |
|---|---|---|
| Product Name* | Product title | Same for all variant rows of a product. |
| Categories* | Collections to assign | Comma-separated. Use > for hierarchy (e.g., Apparel > Men > T-shirts). |
| Product Description | Long description (HTML allowed) | Group-level — fill on the parent row, leave blank on variants. |
| Price* | Selling price | Use your store currency (e.g., 49.00 for $49). No symbol. |
| Compare-at Price | Strike-through price | Must be greater than Price. |
| SKU | Stock-keeping unit | Required for multi-warehouse inventory. |
| Barcode | UPC / EAN / ISBN | Optional. |
| Variant Option 1 Name | e.g., Size | Same across all variant rows of the product. |
| Variant Option 1 Value | e.g., M | One per row. |
| Variant Option 2 Name / Value | e.g., Color / Black | For Color, the value should be the color name or hex code. |
| Tax Rate (%) | Per-product tax | Number only, no % sign. Defaults come from Settings > Taxes. |
| Weight | Shipping weight | Use your store's weight unit (kg or lb) configured under Settings. |
| Image links | URLs separated by commas | Max 30 per product. Public URLs (Drive, Dropbox, your CDN). Variant-specific images: add them on the variant row. |
| Inventory — <warehouse> | Stock at each warehouse | One column per warehouse you've configured. Numbers only. |
| SEO Title | Page title for search | Up to 60 characters. |
| SEO Description | Meta description | Up to 155 characters. |
| Tags | Comma-separated tags | For filtering and theme logic. |
| Status | Draft or Active | Default Active. |
Rules for variants
- The first row for a product holds product-level info (description, categories, SEO).
- Each additional row is a variant — keep Product Name identical, fill only variant-specific columns.
- Option 1 / Option 2 names must be the same across all variants of a product. For example, don't mix "Size" and "Length" in the same product.
- Maximum 3 options per product.
Upload the file
- Save the spreadsheet as CSV (UTF-8).
- On the Bulk upload screen, click Upload File and pick the CSV.
- Review the preview — every row is checked for errors (missing required column, invalid number, duplicate SKU, unknown warehouse, etc.).
- Fix errors in the CSV and re-upload if needed.
- Click Save and add products.
You can leave the screen during processing; you'll get a notification when the import is finished.
FAQ
What's the maximum file size?
Up to 50 MB and 5,000 rows per upload. For larger catalogs, split into multiple files.
Can I update existing products with the same CSV?
To update, use the CSV update flow (Bulk update products). Bulk upload creates new products and will reject rows whose SKU already exists.
Can I import digital products via CSV?
The CSV creates the product record. You still need to attach the delivery method (file link, codes, dynamic URL, or service) per product after upload.
What if my CSV has special characters?
Save as UTF-8. Excel sometimes defaults to Windows-1252 which breaks accented characters. In Google Sheets, "Download as CSV" is already UTF-8.
How do I handle multiple warehouses?
Add one inventory column per warehouse — the template includes columns named after the warehouses you've created. Each variant row has stock per warehouse.