Post

Import Products into Shopify via CSV

How to import products into Shopify using a CSV spreadsheet.

Shopify lets you bulk import products via a CSV file. Useful when migrating from another platform or adding a large product catalogue.

1. Get the CSV template

Download Shopify’s official sample CSV from Products > Import > Download sample CSV. Use it as your starting point — don’t build one from scratch.

2. Required CSV columns

Column headers are case-sensitive. The import will fail if any required header is missing or misspelled.

ColumnNotes
HandleUnique URL slug. Same handle = same product (multiple rows for variants).
TitleProduct name. Only needed on the first row per product.
Body (HTML)Product description.
VendorBrand or supplier name.
TypeProduct type/category.
TagsComma-separated.
PublishedTRUE or FALSE.
Option1 Namee.g. Size, Color. Leave blank if no variants.
Option1 Valuee.g. Small, Red.
Option2 Name / ValueSecond variant option if needed.
Option3 Name / ValueThird variant option if needed.
Variant SKUStock keeping unit.
Variant GramsWeight in grams (integer).
Variant Inventory Trackershopify or leave blank.
Variant Inventory QtyStock quantity.
Variant Inventory Policydeny (block purchase) or continue (allow oversell).
Variant Fulfillment Servicemanual in most cases.
Variant PriceSell price (no currency symbol).
Variant Compare At PriceOriginal price for sale display.
Variant Requires ShippingTRUE or FALSE.
Variant TaxableTRUE or FALSE.
Variant BarcodeBarcode / ISBN / UPC.
Image SrcFull URL to product image.
Image Alt TextAlt text for the image.

The only extra column you can safely add is Collection — everything else will break the import.

3. File requirements

  • Format: .csv only
  • Encoding: UTF-8 with LF line endings (not Windows CRLF)
  • Max file size: 15 MB

When editing in Excel, save as CSV UTF-8 (comma delimited). Google Sheets exports UTF-8 by default.

4. Products with variants

Each variant gets its own row. Only the first row needs Title, Body, Vendor etc. Subsequent rows for the same product share the same Handle and leave those fields blank.

Example — a t-shirt in two sizes:

1
2
3
Handle,Title,Option1 Name,Option1 Value,Variant Price
my-tshirt,My T-Shirt,Size,Small,29.00
my-tshirt,,Size,Large,29.00

5. Run the import

  1. Go to Products > Import
  2. Click Add file and select your CSV
  3. Optional: uncheck Publish new products to all sales channels if you want to review first
  4. Optional: check Overwrite products with matching handles to update existing products
  5. Click Upload and continue
  6. Review the summary, then click Import products

Shopify will email you when the import is complete.

6. Troubleshooting

  • Import failed immediately → likely a missing or misspelled column header
  • Products imported but no images → check image URLs are publicly accessible
  • Variants duplicated → check handles match exactly across rows
  • Encoding errors → re-save as UTF-8 (avoid Excel’s standard CSV format)

See Shopify’s common import issues for a full error reference.

Reference

This post is licensed under CC BY 4.0 by the author.