Shopify Product CSV Import Failed: Causes and Fixes
Quick Answer
A Shopify product CSV import fails most commonly due to non-UTF-8 character encoding, missing or malformed column headers, files exceeding the 15MB size limit, or unreachable image URLs. Common errors like Illegal quoting on line or Invalid CSV header are fixed by re-saving the file explicitly with UTF-8 encoding, replacing curly quotes with straight quotes ("), aligning column names to the standard Shopify template starting with Handle and Title, and breaking large catalogs into smaller batch files.

Published by TechCorner HQ Editorial Desk. Technical references reviewed against current official documentation. How we review technical content.
Common Import Error Messages and Symptoms
When an import fails or encounters processing conflicts, Shopify alerts you through admin notifications or an emailed summary report. Common errors include:
- Illegal quoting on line [number]: Caused by non-UTF-8 characters, missing quotation marks, or smart (curly) quotes introduced by spreadsheet software.
- Invalid CSV header: missing headers: Triggered when standard column names are misspelled, misplaced, or formatted with trailing whitespaces.
- Fulfillment service can't be blank: Occurs when the
Variant Fulfillment Servicecolumn is empty; set this value tomanualif external logistics integrations are not used. - Ignored line #-## because handle already exists / did not contain product data: Flags rows that reference an existing handle without matching product title data or proper variant structure.
- Failed image downloads: Product records are created, but media columns point to broken, authenticated, or non-public URLs.
Primary Causes of Product CSV Import Failures
1. Character Encoding Mismatch
Shopify requires all product CSV files to use strict UTF-8 encoding. Standard exports from some spreadsheet applications may default to ANSI, Windows-1252, or Latin-1 encodings, or automatically replace straight quotation marks with stylized typographic curly quotes (“ ”), which breaks CSV parsing.
2. Header Row Discrepancies
The first row of your CSV file establishes the data schema. If required headers are missing, misnamed, or separated by incorrect delimiters (such as semicolons instead of commas), Shopify rejects the entire file during validation.
3. Unlinked Variant Rows and Missing Required Fields
In Shopify's CSV hierarchy, multiple rows sharing identical Handle values represent variants or additional images for that product. If secondary variant rows omit mandatory variant option values or the base product is missing its Title, the parser flags the line as incomplete.
4. File Size Limits and Creation Caps
Shopify sets a hard file size limit of 15MB for native product, inventory, and customer CSV uploads. Additionally, stores with 500,000 or more existing product variants (excluding Shopify Plus plans) are limited to creating a maximum of 10,000 new variants via CSV or API within a rolling 24-hour window.
5. Inaccessible or Malformed Image URLs
Image links entered in the Image Src column must point directly to public web locations beginning with http:// or https://. Files hosted behind password-protected drives, CDN staging links requiring session cookies, or local computer paths cannot be fetched by Shopify.
Step-by-Step Fixes for Product CSV Imports
Step 1: Save with Explicit UTF-8 Encoding
To eliminate quote and character parsing errors, ensure your file is saved properly:
- Google Sheets: Files downloaded via File > Download > Comma-separated values (.csv) automatically use UTF-8 formatting.
- Microsoft Excel: Choose File > Save As and explicitly select CSV UTF-8 (Comma delimited) (*.csv) from the file type menu.
- Plain Text Editors (VS Code, Notepad++): Open the CSV, check the encoding footer, and save as UTF-8. Use search and replace to convert curly quotes (
“and”) to straight quotes (").
Step 2: Align Column Headers to Official Schema
Verify that your column headers conform to the standard structure documented in the Shopify Help Center. The baseline structure begins with:
| Column Position | Header Name | Requirement |
|---|---|---|
| Column A | Handle | Required for updates/variants; lowercase letters, numbers, hyphens only. |
| Column B | Title | Required for new product creation. |
| Columns C+ | Body (HTML), Vendor, Type, Tags, Published... | Standard catalog attributes. |
| Variant Columns | Option1 Name, Option1 Value, Variant SKU, Variant Price | Mandatory when listing multi-option items. |
Step 3: Resolve Broken Image References
Verify image links before uploading by opening sample URLs in an incognito or private browser window. If the image fails to load without an active account login, host the assets on a publicly accessible server or upload them directly to your Shopify store files first.
Step 4: Split Large Datasets
If your spreadsheet exceeds the 15MB threshold, divide the catalog into multiple smaller CSV files. Ensure that all variant rows belonging to the same product Handle remain grouped within the same file to prevent broken product configurations.
Precautions When Overwriting Existing Products
Warning: Always create a complete product backup by selecting Products > Export > All products before importing updates.
- Overwriting Existing Data: Checking "Overwrite any current products that have the same handle" updates all fields matching the CSV. Blank values in certain CSV columns can overwrite existing product values.
- Handle Integrity: Changing a product's handle in the CSV causes Shopify to treat it as an entirely new product rather than updating the existing catalog item.
For additional store management troubleshooting, consult our guide on resolving checkout configuration errors in Shopify Checkout Not Working: Causes, Diagnostics, and Fixes.
Verification Steps
Once you have applied formatting corrections, verify the import:
- Navigate to Shopify Admin > Products > Import.
- Upload a small test file containing 2 to 3 products first.
- Review the import preview window to confirm that titles, handles, and variant counts map correctly.
- Click Import products and monitor the confirmation banner or check your email for the import status report.
- Inspect the imported test items directly in Products to ensure titles, pricing, variants, and images display properly before uploading your remaining inventory.