Shopify CSV encoding error
Shopify CSV encoding: save product files as valid UTF-8
Shopify product CSV files should be saved as UTF-8. Invalid byte sequences can cause an upload error, while text that was decoded with the wrong character set can produce unexpected symbols even when the final file is technically valid UTF-8.
Check my Shopify CSVWhat happened?
Encoding defines how file bytes become characters. UTF-8 supports Shopify catalog text across languages, but a spreadsheet or conversion tool can export another encoding or replace characters before the CSV reaches Shopify.
Encoding and CSV quoting are separate layers. A valid UTF-8 file can still have a missing quote, and a structurally correct-looking CSV can still contain invalid UTF-8 bytes.
Why Shopify cares
Shopify has to turn the uploaded bytes into characters before it can parse headers, products, or variants. Invalid UTF-8 can stop that first step, while text corrupted earlier can import the wrong visible characters even when the final bytes are technically valid.
Common causes
- Spreadsheet software exported a regional or legacy character encoding instead of UTF-8.
- The file passed through a system that guessed the wrong encoding before saving it again.
- Curly or misplaced quotation marks broke CSV structure.
- Text was already corrupted into replacement characters or mojibake before the final UTF-8 save.
Example
A product title such as this should survive a UTF-8 round trip exactly:
URL handle,Title
cafe-mug,"Café mug ☕"If it becomes "Café" or contains replacement symbols, do not repair it by search-and-replace across the catalog. Return to a source that still contains the intended characters, then export that source as UTF-8.
How to fix it safely
- Keep the original file untouched and reopen it in software that lets you choose the input encoding.
- Confirm the titles and descriptions display correctly before exporting again.
- Export as comma-separated CSV with UTF-8 encoding. Shopify's format guidance also specifies LF-style linefeeds.
- If characters are already corrupted, restore them from a reliable source rather than guessing replacements.
- Run the new file through the checker and review any separate quoting or row-structure findings.
Can the checker find this?
- a UTF-8 byte-order mark and valid UTF-8 byte sequences
- malformed or unbalanced CSV quotes after decoding
- rows whose cell count no longer matches the header row
- Unicode text without normalizing or rewriting valid catalog values
Limit: The checker can reject invalid UTF-8 bytes, but it cannot infer the intended character after another program has already converted corrupted text into valid UTF-8. Visual review against a trusted catalog source is still necessary.