Free tool / No sign-up
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.
Download a template or check your file before you import it.
Use the tool / Runs in your browser
Templates are generated and files are checked in your browser. Nothing is uploaded.
Products, variants, customers, orders, blog posts and redirects, checked by hand. Free audit, fixed quote, from $750.
See the serviceHow to use it
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.
Product columns
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.
| Column | What to enter |
|---|---|
| Title | The product name. Fill it only on the product's first row. |
| URL handle | The product's address, using letters, numbers and dashes only. Every row of the same product repeats it. |
| Status | active, draft or archived. If the column exists, the first row needs a value. |
| Option1 name / Option1 value | For example Size and S. Single products use Title and Default Title. Up to three options. |
| Price, Compare-at price, Cost per item | Numbers only, without a currency symbol. |
| Inventory tracker, Inventory quantity | shopify to track stock, and a whole number. Single-location stores only. |
| Continue selling when out of stock | deny or continue. |
| Weight value (grams) | A whole number of grams, even if you display kilograms. |
| Product image URL, Image position | A public image link and its order, one image per row. |
| SEO title, SEO description | Up to 70 and 320 characters. |
Variants
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.
Customers and inventory
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.
Common errors
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.
Questions
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.
Done-for-you migration
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.
bealinawaz@gmail.com