Guide · Shopify

Shopify CSV import errors and how to fix them

Updated October 8, 2026

A Shopify product import usually fails for one of about ten reasons, and Shopify's error messages rarely say which row caused it. Here they are, roughly in order of how often they happen, with the fix for each. The Shopify CSV Checker finds all of them at once and gives you the row numbers.

How Shopify reads a product CSV

Each product is one or more rows that share the same URL handle (called Handle in older exports). The first row holds the product details, such as title, description and vendor. Each extra row with the same handle is either another variant, like a different size, or another product image. Almost every import problem comes back to that structure.

The common errors

1. A product's rows are split up

Rows for one handle must sit together. If a product's variants are separated by another product's rows, often after sorting the sheet by another column, Shopify can create duplicates or drop variants. Fix: sort by the handle column before saving.

2. Extra variant rows without an option value

If a product has more than one variant row, every variant row needs an Option1 value (Small, Blue, and so on), and the first row needs the Option1 name (Size, Color). Fix: fill in the option values, or delete the stray row.

3. Two variants with the same options

Two rows for the same handle with identical option values, such as two "Small", are duplicates and one will be rejected. Fix: give each variant a unique combination, or remove the copy.

4. Prices with symbols

$19.99, 19,99 or 19.99 USD won't import. Prices, compare-at prices and cost per item must be plain numbers like 19.99. Fix: remove currency symbols, commas and spaces; format the column as a number, not currency.

5. Inventory or weight that isn't a number

Inventory quantity must be a whole number (12, not 12.0 or twelve), and weight in grams must be numeric. Fix: clean the column and save again.

6. TRUE/FALSE fields with other values

Columns like Published, Charge tax, Requires shipping and Gift card accept only TRUE or FALSE. "Yes", "Y" and "1" fail. Fix: find and replace them with TRUE and FALSE.

7. Status that Shopify doesn't recognize

Status must be active, draft, archived or unlisted. "Live" or "Published" won't work. Fix: use one of the four values.

8. Image URLs that aren't full web addresses

Shopify downloads images from the addresses in the image column, so each must be a full public link starting with https://. File names like shirt.jpg or links to private folders fail. Fix: upload the images somewhere public, such as Shopify Files, and paste the full links.

9. Misspelled or unknown column names

Shopify matches columns by exact name. "price" instead of "Price", or "Colour" as a column, is ignored without warning, so the data never arrives. Fix: copy the headers from Shopify's own template or a fresh export.

10. Garbled characters

If accented letters turn into symbols such as �, the file wasn't saved as UTF-8. Fix: in Excel, save as "CSV UTF-8"; in Numbers or Google Sheets, export as CSV, which uses UTF-8 already.

Before every import

  1. Export your current products first, as a backup.
  2. Run the file through the Shopify CSV Checker and fix every error it lists.
  3. Import a few products as a test before the whole file.
  4. When updating existing products, tick "Overwrite products with matching handles".

Utilwell · free tools by Utilwell