Shopify CSV import errors and how to fix them before you upload
Shopify validates a product CSV in two stages: first the file structure, then the rows. A file can pass the upload dialog and still fail on apply, or worse, silently merge products you meant to keep separate. The error message rarely names the row that caused it.
This guide lists the errors merchants hit most often, what actually causes each one, and how to check your file before the import instead of after it.
Check your file before you import it
Free preflight and fixes in your browser. Nothing is uploaded.
The errors you are most likely to see
These are the messages Shopify shows most often, with the real cause behind each one:
- "Inventory policy is not included in the list" — the Variant Inventory Policy cell is not exactly deny or continue: wrong capitalization, a trailing space, extra words, or an empty cell.
- "Options are not unique" — two variant rows share the same option combination under the same handle, or the same handle appears on two product rows.
- "Illegal quoting on line X" — mismatched or curly quotes, usually introduced by Word or Google Docs before the file was saved as CSV.
- "Invalid CSV header: missing headers" — the header row is missing or was shifted, often because Excel saved the file with a UTF-8 BOM glued to the first column name.
- "Validation failed: price can not be blank" — a product row has no price. Variant rows need their own price when they carry data.
- "Image could not be downloaded" — the image URL is not public, redirects, needs login, or points to a host Shopify cannot reach.
- "Ignored line because it did not contain product data" — rows with a handle but no title, or stray blank rows at the end of the file.
Why one bad row fails the whole import
Shopify is intentionally strict about a small set of values, and invisible characters are the usual culprit: a space after "continue", a non-breaking space from a web page, a BOM at the start of the file, a curly apostrophe in a title.
Because validation happens before anything is applied, a single malformed cell can stop thousands of correct rows. That is why fixing the file before import is faster than importing, reading the error email, fixing, and trying again.
Check your file in a browser before you import
BeforeImport runs a preflight on your CSV or XLSX and shows exactly which rows and columns are going to fail, with the same rules the importer applies: exact enum values, prices, integers, handles, URLs and encoding.
The file never leaves your browser, so supplier catalogs and customer lists stay private. The free plan handles files up to 5,000 rows; larger catalogs need PRO.
- Drop the file and read the preflight report: blocking errors first, then warnings.
- Apply the suggested fixes with a preview — nothing is changed without showing you before and after.
- Export a clean UTF-8 CSV (without BOM) and import it into Shopify.
Frequently asked questions
Why does a UTF-8 BOM break a Shopify import?
Excel often saves CSV files with a UTF-8 BOM, an invisible marker before the first character. Shopify then reads the first header as something like "\uFEFFTitle" and cannot find the Title column. Saving as "CSV UTF-8" or re-exporting without the BOM fixes it.
How do I fix the "inventory policy is not included in the list" error?
Set the Variant Inventory Policy column to exactly deny or continue, in lowercase, with no spaces before or after. Blank cells, capitalized values and extra words like "Deny selling" are all rejected.
Can I fix the file in Excel instead?
You can, but Excel is where most of these problems are introduced: BOM, changed quotes, dates reinterpreted, leading zeros removed. If you edit in Excel, save as CSV UTF-8 and validate the file before uploading it.
Is my catalog uploaded anywhere?
No. BeforeImport processes the file entirely in your browser. There is no upload step and no server that receives the data.
Related guides
Try it on your messiest file
Deterministic fixes, preview before every change, export CSV/XLSX and a cleaning report.
Open the free tool