Shopify product CSV guide
Illegal quoting and UTF-8 errors: fix the structure, not the product meaning
An “illegal quoting” or invalid CSV message means the importer could not reliably divide the file into rows and fields. It does not identify one universal bad character, so begin with the original file and make the smallest structural correction you can verify.
What Shopify expects
Shopify’s general CSV guidance says files should use UTF-8 encoding. Its product-import troubleshooting also identifies illegal quoting as a cause of import failure. CSV quoting has a specific structural job: a field containing a comma or line break is enclosed by straight double-quote characters, and a literal straight double quote inside that field is represented by two double quotes. A stray opening quote, a missing closing quote, or an unescaped quote can make every later comma or line break look like part of the wrong field.
Visible “smart quotes” such as curly opening and closing quotation marks are different Unicode characters. They may be intentional catalog punctuation rather than CSV delimiters. Replacing all curly quotes is therefore not a safe automatic repair: it can change a product title or description without repairing the actual row structure. CSV SafeCheck reports smart quotes as a warning and leaves that judgment to you.
A conservative repair sequence
- Save an untouched copy of the source file. Do not repeatedly overwrite the only export while experimenting.
- Open or import the file with software that lets you explicitly choose UTF-8 and comma-separated CSV. Avoid accepting automatic delimiter, date, identifier, or number conversions without review.
- Locate the first malformed row reported by a parser. Check the field immediately before the structure diverges for an unmatched straight quote, a quote placed in the middle of an unquoted field, or a pasted line break.
- If a field legitimately contains a straight quote, escape that character according to CSV rules rather than deleting catalog text. If a field legitimately contains a comma or line break, keep the field quoted.
- Export a new UTF-8 comma-separated file, then compare important handles, SKUs, barcodes, prices, and option values with the untouched original.
- Run a fresh preflight. A quoting repair can reveal a later independent header or variant issue that the first parse never reached.
Why a spreadsheet re-save is not automatically safe
A spreadsheet can produce valid CSV, but it can also transform values before export. Leading zeroes in identifiers may disappear, long numbers may be displayed differently, dates may be reformatted, and formula-prefixed text can be interpreted when the file is opened. Review fields that behave like identifiers or executable spreadsheet input. CSV SafeCheck preserves formula-risk values and blocks its corrected-download path instead of claiming a safe rewrite.
What a clean parse does and does not prove
A successful parse proves only that this parser found consistent CSV structure within its limits. It does not prove that headers are correct, images are reachable, store-dependent references exist, update settings are intended, or Shopify will accept the import. Continue with header and duplicate-variant checks, make a current backup, and use Shopify’s preview before confirming consequential changes.
Primary sources
Retrieved 26 August 2026. This independent guide summarizes a narrow troubleshooting workflow and is not Shopify documentation or a guarantee of import acceptance.