Weird Characters in a CSV

Why é turns into é in Excel, and how to fix the file.

The Short Answer

Your CSV is saved as UTF-8, but Excel read it as an older Windows encoding. In UTF-8, letters like é take two bytes. Read the wrong way, those two bytes show up as two characters: é.

The fix is to tell Excel the file is UTF-8. Adding a byte order mark (BOM) to the start of the file does that, so a double-click opens it correctly.

Fix the characters in my CSV →

What the Garbled Characters Mean

Each pattern is a UTF-8 character read as Windows-1252. We generated this table by encoding each character as UTF-8 and decoding it as Windows-1252, the same thing Excel does:

Should beShows asShould beShows as
éé’’
èè““
üü––
ññ€â‚¬
çç£Â£

If you see these, the data itself is intact. It was just read with the wrong encoding.

Fix It in Your Browser

  1. Close the file in Excel without saving, so the garbled text isn't written into the file.
  2. Open the CSV Fixer and pick the CSV. It shows the encoding it detected and a preview.
  3. If the file was already saved with garbled text, the fixer says how many garbled sequences it found and ticks Repair garbled characters. Check the preview.
  4. Click Download fixed CSV with Add a UTF-8 BOM ticked, or Download .xlsx.
  5. Double-click the new file. Accents, curly quotes and the euro sign show correctly.

Fix It in Excel

Microsoft's page Opening CSV UTF-8 files correctly in Excel says a UTF-8 CSV saved with a BOM opens normally. Without a BOM, import it instead of double-clicking:

  1. Go to Data → Get Data → From File → From Text/CSV and pick the file.
  2. In the preview window, set File Origin to UTF-8 (code page 65001) if the preview still shows é.
  3. Click Load.

Microsoft's Text/CSV connector documentation explains why the BOM matters: the import only assumes UTF-8 when the file starts with a UTF-8 BOM.

Things That Trip People Up

Platform Notes

Excel: a BOM is the simplest fix for a file you double-click. Data → Get Data → From Text/CSV is available in Excel for Microsoft 365 and Excel 2024 on Windows and Mac. Other apps: if a program shows � where accents should be, the file is probably Windows-1252 and needs converting to UTF-8.

Frequently Asked Questions

Why does my CSV show é instead of é in Excel?

The file is saved as UTF-8, where é is two bytes. Excel read it with an older Windows encoding (Windows-1252), which treats each byte as its own character, so é shows as é. The data is fine; it was just read the wrong way.

How do I make Excel open a UTF-8 CSV correctly?

Add a byte order mark (BOM) to the start of the file. Microsoft's support page says a UTF-8 CSV saved with a BOM opens normally in Excel. Otherwise, import it with Data, Get Data, From File, From Text/CSV and pick UTF-8 as the file origin.

What is a BOM?

A byte order mark is three invisible bytes (EF BB BF) at the very start of a UTF-8 file. They tell programs such as Excel that the file is UTF-8.

What does ’ mean?

It is a curly apostrophe (’) that was saved as UTF-8 and read as Windows-1252. The curly apostrophe is three bytes in UTF-8, so it turns into three characters. Curly quotes and dashes do the same: “ becomes “ and – becomes –.

The garbled text is already saved in the file. Can it be fixed?

Usually, yes. If the file was opened with the wrong encoding and saved again, the garbled characters are now real text. Because the mistake follows a fixed pattern, it can be reversed. The CSV Fixer finds those patterns and turns é back into é.

Why do I see a question mark in a box instead of accents?

That is the opposite problem: an older file saved as Windows-1252 opened by a program that expects UTF-8. A byte that isn't valid UTF-8 becomes the replacement character �. Re-save the file as UTF-8, for example with the CSV Fixer, which detects Windows-1252 and converts it.