Guide · Shopify CSV Encoding Errors

Shopify CSV Encoding Errors
Invisible problems that break imports before they start.

Encoding errors are the sneakiest failure mode in Shopify CSV imports. The file looks fine in Excel. Every row is correct. Every column is spelled right. But when you upload it, Shopify either rejects it outright or reads the wrong data — because of characters you can’t see.

This guide covers the four encoding problems that break imports, why they happen, and how to fix each one.

👁️
You can’t see encoding problems by looking at the file.

They live in the raw bytes of the file. Excel hides them. Google Sheets hides them. The only way to catch them is with a tool that reads the raw bytes.

Why encoding matters for Shopify

A CSV is just text. But “text” isn’t one thing. Every character in your file is stored as one or more bytes. Which bytes represent which character depends on the encoding.

Shopify expects UTF-8 encoded files. UTF-8 is a universal standard that represents every character on Earth — English letters, accented characters (é, ñ, ü), emoji, and symbols (™, ©, ½).

When your file isn’t UTF-8, or when UTF-8 contains hidden “control” characters at the start, Shopify misreads the file. Sometimes it fails loudly. More often it fails silently — the import “succeeds” but the data is wrong.

The four encoding errors that break imports

1. UTF-8 BOM (Byte Order Mark)

A BOM is a special three-byte marker (EF BB BF) at the very start of a file. It tells programs “this is a UTF-8 file.” But most software — including Shopify — treats it as invisible data.

What happens: If your CSV starts with a BOM, Shopify reads the first column header as Handle instead of Handle. It doesn’t recognize the column. Every row’s handle is treated as blank. The entire import misfires.

How to check: Open the CSV in a hex editor or use the file command. If the first three bytes are EF BB BF, you have a BOM.

2. Smart quotes (curly quotes)

When you type quotes, apostrophes, or dashes in Word, Google Docs, or macOS Notes, they get replaced with “smart” versions: " becomes ", ' becomes ', and -- becomes —.

What happens: Shopify’s CSV parser expects straight quotes for quoting field values. Smart quotes are technically different characters. If your Tags field contains "summer, sale" with smart quotes, Shopify may see the field as ending early and treat everything after as a new column — shifting all subsequent data.

How to check: Search your CSV for the characters ", ", ', ', —, or …. Any of them will break imports.

3. Non-UTF-8 encoding (Windows-1252, ISO-8859-1, UTF-16)

If you export a CSV from certain software, it may use a legacy encoding instead of UTF-8. Windows-1252 and ISO-8859-1 are common in older Excel versions. UTF-16 is used by some enterprise tools.

What happens: Accented characters (é, ñ, ü) and special symbols get garbled. Café becomes Café. Naïve becomes Naïve. If Shopify can’t decode the bytes, the whole file may be rejected.

How to check: Open the CSV in a text editor that shows encoding (Notepad++ bottom-right, Sublime Status Bar). If it says anything other than “UTF-8”, you need to convert it.

4. Wrong delimiter (semicolons, tabs, pipes)

Shopify expects comma-separated values. Many countries use semicolons as the default delimiter in Excel — particularly Germany, France, Spain, and Italy. Some tools use tabs or pipes.

What happens: Shopify reads the whole row as a single column. Every product ends up with its entire row of data dumped into the Handle field. Or the import fails outright.

How to check: Open the CSV in a plain text editor. If the first line looks like Handle;Title;Vendor instead of Handle,Title,Vendor, your file uses the wrong delimiter.

How to fix each encoding error

Fixing a UTF-8 BOM

The BOM is invisible but removable. The fix depends on your tool:

  • Notepad++: Encoding menu → Convert to UTF-8 (not “UTF-8 with BOM”). Save.
  • VS Code: Bottom-right corner shows the encoding. Click it → “Save with Encoding” → “UTF-8” (no BOM).
  • Sublime Text: File → Save with Encoding → UTF-8.
  • Command line (macOS/Linux): sed -i '1s/^\xEF\xBB\xBF//' file.csv

A validator can also strip the BOM automatically and save you the manual step.

Fixing smart quotes

Replace every smart quote with its straight-quote equivalent:

“Premium” quality
→
“Premium” quality
It’s a great mug
→
It’s a great mug
Premium — Limited
→
Premium – Limited

In Excel or Google Sheets, use Find & Replace:

  • Find " → Replace with "
  • Find " → Replace with "
  • Find ' → Replace with '
  • Find ' → Replace with '
  • Find — → Replace with -

Fixing non-UTF-8 encoding

Convert the file to UTF-8 without changing any data:

  • Notepad++: Encoding → Convert to UTF-8. Save.
  • Excel: Save As → CSV UTF-8 (Comma delimited)
  • Google Sheets: File → Download → CSV. Sheets always exports UTF-8.
  • Command line: iconv -f WINDOWS-1252 -t UTF-8 file.csv -o file-utf8.csv

Always save CSV from Excel as “CSV UTF-8” — not the default “CSV (Comma delimited)” which uses your system encoding.

Fixing the delimiter

Simplest fix: re-export from your source tool with comma as the delimiter. If that isn’t possible:

  • Google Sheets: File → Download → CSV. Always uses commas.
  • Excel (Windows): File → Save As → CSV UTF-8. Uses your locale’s delimiter. May need to change Windows regional settings temporarily.
  • Validator: Converts the file for you in one click.

Why these errors are hard to catch manually

Every one of these problems is invisible at a glance.

  • BOM — a hidden 3-byte sequence. You only see the effect (broken Handle column), not the cause.
  • Smart quotes — the character " looks almost identical to " in most fonts. You’ll only notice if you zoom in.
  • Non-UTF-8 encoding — the file opens fine in Excel. Garbled characters only appear when Shopify tries to decode it.
  • Wrong delimiter — Excel displays semicolon-separated files the same way it displays comma-separated files if the setting matches. You have to look at the raw text.

Catching these manually requires opening the file in a hex editor or text editor with encoding display. Not something you want to do for every import.

Check every encoding issue in 30 seconds

Autonom Shopify Guard scans your CSV for BOM, smart quotes, non-UTF-8 encoding, and wrong delimiters — and fixes the safe ones automatically. Free, browser-based, no account needed.

Open Shopify CSV Validator →

Related guides

Frequently asked questions

What is a UTF-8 BOM and why does it break Shopify imports?

A BOM is a three-byte sequence (EF BB BF) that some software writes at the start of UTF-8 files. Shopify treats these bytes as part of the first column name, so “Handle” becomes “Handle” and no longer matches. The column is effectively ignored.

How do I know if my CSV has a BOM?

Open the file in a text editor with encoding display (Notepad++, VS Code, Sublime Text). If the encoding shows “UTF-8 with BOM” or “UTF-8-BOM,” it has one. You can also check the raw bytes with a hex editor.

Why does my Shopify import show garbled characters like “Café”?

Your file is encoded in a legacy encoding (Windows-1252 or ISO-8859-1) instead of UTF-8. The accented character was stored as one byte, but Shopify reads it as two. Re-save the file as UTF-8 and the characters will display correctly.

Does Excel save CSV files in UTF-8 by default?

No. Excel’s default “CSV (Comma delimited)” uses your system’s regional encoding — often Windows-1252 in the US. Always choose “CSV UTF-8 (Comma delimited)” when saving a file for Shopify.

What’s the difference between commas and semicolons in CSV?

Both are valid CSV delimiters, but Shopify only accepts commas. Semicolons are used by default in Excel for some European locales. The first line of your CSV tells you which delimiter is being used.

Can I fix these errors without opening a hex editor?

Yes. Most encoding issues can be fixed by re-saving the file in a tool that forces UTF-8 without BOM — Notepad++, VS Code, or Google Sheets. For delimiters, re-export as comma-separated. A validator can also detect and fix all of these automatically.

Scroll to Top