Fix CSV encoding problems (BOM, UTF-8, Windows-1252)

Encoding problems are the sneakiest import errors: the file opens fine on your computer and fails on the platform. Accents turn into è or é, the first column header stops matching, and some importers reject the file outright.

There are only two root causes, and both are fixable in seconds once you know which one you have.

Check your file before you import it

Free preflight and fixes in your browser. Nothing is uploaded.

Open the free tool

Symptom 1: mojibake (café instead of café)

This is a Windows-1252 file being read as UTF-8. It happens whenever an old ERP, a supplier system, or Excel on a non-English Windows exports the CSV in the legacy encoding.

The fix is to read the file with the encoding it was actually written in and re-save it as UTF-8. Opening it in Excel and "saving as" often makes it worse: Excel re-interprets the characters and can bake the mojibake in permanently.

Symptom 2: a BOM at the start of the file

Excel writes an invisible marker (the byte order mark) before the first character when saving as "CSV UTF-8". Most platforms are fine with it — some, like Shopify, are not: the first header becomes \uFEFFTitle and no longer matches the expected column name.

The fix is to export UTF-8 without the BOM. It is a checkbox in most tools and a one-line change in a script.

Fix it without opening Excel

BeforeImport detects the real encoding when you drop the file: UTF-8, UTF-8 with BOM, or Windows-1252. If the file is legacy-encoded it is re-decoded automatically, so accents show correctly in the preview before you change anything.

On export you choose the format the platform wants: clean UTF-8, optional BOM for Excel-friendly deliverables. The preview shows the final characters, so you can confirm the fix instead of hoping.

  • Mojibake in the preview → the file was Windows-1252: re-decoding fixes every row at once.
  • First header looks broken → a BOM was present: exporting without BOM fixes the import.
  • Keep the original file untouched: export produces a new, clean copy.

Frequently asked questions

Should I save CSV as UTF-8 with or without BOM?

For platform imports, UTF-8 without BOM. The BOM is only useful when the file is opened directly in Excel by a human; Shopify and several other importers treat it as part of the first header and fail.

Why did opening the file in Excel make it worse?

Excel interprets the legacy encoding and may save it back as UTF-8 with the mojibake now encoded as real characters. The original corruption becomes permanent. Re-decode from the original file instead.

What is mojibake exactly?

It is the visible result of reading text with the wrong character encoding: "café" written in Windows-1252 and read as UTF-8 appears as "café". The bytes are recoverable — only the interpretation was wrong.

Can I check the encoding of a file before importing?

Yes. Drop it into BeforeImport: the file summary shows the detected encoding and whether it was re-decoded, before you export anything.

Related guides

Try it on your messiest file

Deterministic fixes, preview before every change, export CSV/XLSX and a cleaning report.

Open the free tool