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 be | Shows as | Should be | Shows as |
|---|---|---|---|
| é | é | ’ | ’ |
| è | è | “ | “ |
| ü | ü | – | – |
| ñ | ñ | € | € |
| ç | ç | £ | £ |
If you see these, the data itself is intact. It was just read with the wrong encoding.
Fix It in Your Browser
- Close the file in Excel without saving, so the garbled text isn't written into the file.
- Open the CSV Fixer and pick the CSV. It shows the encoding it detected and a preview.
- 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.
- Click Download fixed CSV with Add a UTF-8 BOM ticked, or Download .xlsx.
- 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:
- Go to Data → Get Data → From File → From Text/CSV and pick the file.
- In the preview window, set File Origin to UTF-8 (code page 65001) if the preview still shows é.
- 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
- Saving the garbled version. Once Excel saves the file, é is real text in the file and a BOM no longer helps. It needs repairing, which the CSV Fixer can do.
- The opposite problem. A file from older software in Windows-1252, opened by a program that expects UTF-8, shows � instead of accents (Caf� instead of Café). Converting it to UTF-8 fixes that.
- BOM and other programs. Some programs keep the BOM as an invisible character at the start of the first column name. A Python script that reads the file as plain UTF-8 does this, for example, so a lookup by that column name fails. Leave the BOM off for files that are going to scripts or databases rather than Excel.
- One column too? If everything also lands in column A, the delimiter is the problem. See CSV opens in one column.
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.