The four failure classes we see most
Across store migrations and supplier uploads, import errors almost always fall into one of these categories:
Common Scenarios:
- Encoding corruption: files saved as ANSI/GBK/Shift-JIS contain invisible bytes that Shopify renders as mojibake or rejects outright.
- Unescaped quotes and commas: description text with a stray " or comma shifts every column to the right (column drift).
- Header mismatch: translated or abbreviated headers (Price vs Variant Price) silently map to the wrong field.
- Broken variant rows: Option1 Name filled in but Option1 Value empty, or duplicate SKUs across different handles.
Fix it in seconds with client-side validation
ShopTools runs the same checks locally in your browser: header mapping, quote/encoding repair, variant and SKU validation. No file ever leaves your machine, and the repaired CSV is written back in clean UTF-8.
Features:
- Header auto-mapping: Matches Price, SKU, Image and 40+ aliases to the official Shopify columns.
- Quote & encoding repair: Closes broken quotes and re-exports everything as UTF-8.
- Variant & SKU checks: Detects handle collisions, duplicate SKUs and orphan option rows.
Diagnosis workflow
- Open your CSV in a text editor (not Excel) and confirm it saves as UTF-8 without BOM issues.
- Scan for unescaped quotes: every field containing , " or newline must be wrapped in quotes.
- Compare your header row against the official Shopify product CSV template, column by column.
- Check that variant rows repeat the same Handle and only change Option/Value pairs.
Before and after
- Before: Title: Men's T-Shirt (unquoted apostrophe, plain commas) After: "Men's T-Shirt, Cotton" (quoted field, doubled quote)
- Before: Header: Price, Quantity, Image After: Header: Variant Price, Variant Inventory Qty, Image Src
Who should read this guide
- Store owners: Stop guessing which row broke the import; find it in one pass.
- Migration teams: Standardize supplier files before batch imports.
- Operations staff: Build a repeatable QA step for every upload.
Frequently Asked Questions (FAQ)
- My file opens fine in Excel but Shopify rejects it. Why?
- Excel often saves CSV in a regional encoding (ANSI/GBK) and rewrites quotes. Re-save as UTF-8 from a code editor, or run the file through a validator that re-exports UTF-8.
- What does "column drift" mean?
- A comma or quote inside an unquoted field is read as a column separator, pushing every later value one column to the right - prices and SKUs end up in the wrong columns.
- Do I need to quote every field?
- Only fields containing commas, double quotes or line breaks. Quoting extra fields is harmless but makes files larger.
- Is checking my file online safe for my pricing data?
- ShopTools processes everything in your browser memory. No CSV content is transmitted or stored on any server.