Shopify CSV template for products, customers and inventory.

Download a free Shopify CSV template with the exact columns Shopify's importer expects today, for simple products, products with up to three options, customers or inventory. Then check your finished file here before you import it, and fix the rows Shopify would reject.

FREE TOOLCSV templates + checker

Download a template or check your file before you import it.

ProductsCustomersInventoryError checker

Templates are generated and files are checked in your browser. Nothing is uploaded.

Done-for-you migration

Products, variants, customers, orders, blog posts and redirects, checked by hand. Free audit, fixed quote, from $750.

See the service

Get a working Shopify import file in three steps.

1. Pick the template above. For products, choose how many options your products have: none for single items, or up to three such as Size, Color and Material. Leave the example rows on the first time, so you can see how variant rows are laid out, then switch them off for a clean file.

2. Open the file in Google Sheets, Excel or Numbers and replace the example rows with your products. Keep the header row exactly as it is, and save the file as CSV with UTF-8 encoding.

3. Upload the finished file under Check my CSV. The checker reads it in your browser and lists every row and column Shopify would reject, with the reason. When it reports no problems, import the file in the Shopify admin under Products, then Import.

What goes in each product column.

Shopify renamed several product columns in its current template, for example Handle became URL handle, Body (HTML) became Description and Variant Price became Price. The importer still accepts the old names, but mixing old and new names in one file causes confusion, so these templates use the current names throughout. Only Title is required for new products, and URL handle is needed as soon as a product has variants.

ColumnWhat to enter
TitleThe product name. Fill it only on the product's first row.
URL handleThe product's address, using letters, numbers and dashes only. Every row of the same product repeats it.
Statusactive, draft or archived. If the column exists, the first row needs a value.
Option1 name / Option1 valueFor example Size and S. Single products use Title and Default Title. Up to three options.
Price, Compare-at price, Cost per itemNumbers only, without a currency symbol.
Inventory tracker, Inventory quantityshopify to track stock, and a whole number. Single-location stores only.
Continue selling when out of stockdeny or continue.
Weight value (grams)A whole number of grams, even if you display kilograms.
Product image URL, Image positionA public image link and its order, one image per row.
SEO title, SEO descriptionUp to 70 and 320 characters.

How variants and extra images are laid out.

Shopify reads one row per variant. The first row of a product carries the title, description, vendor, tags and the option names; each following row repeats only the URL handle and fills in that variant's option values, SKU, price and stock. Extra images work the same way: each additional image gets its own row with the URL handle, the image URL and its position. A product with two sizes in two colours therefore needs four variant rows, which is exactly what the two-option template shows.

Shopify allows three options per product and up to 2,048 variants. If your old platform had more attributes, combine two of them into one option or use metafields for details that don't change the price or stock.

Customer and inventory templates.

The customer template needs the Email column, even if some cells are empty, or the whole import fails. Marketing consent and tax exemption columns accept only yes or no, and the address uses two-letter country codes such as US or GB with state or province codes. Passwords and order history can't be imported by CSV; customers set a new password through an account invite.

The inventory template updates stock per location. Each variant needs one row per location, the location name must match Shopify exactly, and the new quantity goes in On hand (new) as a whole number. Columns marked not editable are ignored on import. Customer and inventory files must be 15 MB or smaller, so split larger files.

The import errors this checker catches.

Most failed Shopify imports come from a short list of mistakes: a currency symbol in a price, a weight with decimals in the grams column, yes instead of true, a status such as live instead of active, a handle with spaces, an SEO title that is too long, an image file name containing _thumb or _small, a file with both a Barcode and a Barcodes column, or the same variant listed twice. The checker flags each one with its line number, so you can fix the file before Shopify rejects it.

If you're moving a whole store rather than one spreadsheet, the CSV is only part of the work. My WooCommerce to Shopify migration service moves products, variants, customers, orders, blog posts and redirects for a fixed price after a free audit.

Shopify CSV Template and Checker FAQs

Where do I get the official Shopify product CSV template?+

Shopify offers a sample file in its help center. The templates here use the same current column names, and add ready-made layouts for products with one to three options, customers and inventory, plus a checker for your finished file.

Why does my Shopify CSV import fail?+

The usual causes are wrong values in fixed columns (for example yes instead of true, or live instead of active), currency symbols in prices, decimals in the grams column, a missing URL handle on variant rows, or a file that isn't saved as UTF-8. Upload the file under Check my CSV to see each problem.

How do I add variants in a Shopify CSV?+

Put the product's details on the first row with Option1 name and the first value, then add one row per extra variant that repeats the URL handle and fills in the option values, SKU, price and stock.

Can I import customers with their passwords?+

No. Shopify doesn't import passwords or order history through the customer CSV. Customers receive an invitation to set a new password, or sign in with an emailed code.

Is my file uploaded when I check it?+

No. The checker runs in your browser, so the file stays on your computer.

Moving a whole store to Shopify?

Send me the site address and what you need. I’ll reply with a clear next step, usually the same day in US and UK hours.

Free audit, fixed quote, from $750.

Your inquiry is emailed directly to Ali. No mailing lists, ever. See the privacy policy.