Excel shows strange characters instead of accents in a CSV
Short answer
When é, ü or ą show up as é, ü or Ä…, the CSV is UTF-8 but Excel read it with an older encoding. Import it with Data › From Text/CSV and set File Origin to 65001: Unicode (UTF-8) — or add a UTF-8 marker (BOM) to the file with the free CSV fixer, after which it opens correctly on a double-click.
What's going on
A CSV is plain text, and plain text needs an encoding — the rule for turning bytes into letters. Almost everything today writes UTF-8, where a letter like é takes two bytes. When Excel opens a CSV by double-click and the file doesn't announce its encoding, it may fall back to an older single-byte encoding (Windows-1252 in Western Europe and the US), and each of those two bytes shows as its own character.
| Should be | Shows as | Typical in |
|---|---|---|
é | é | French, Spanish, Portuguese |
ü ö ä ß | ü ö ä ß | German |
ą ł ż | Ä… Å‚ ż | Polish |
€ | € | any currency column |
The data isn't damaged: re-open the file the right way and the letters are back. Just don't save the garbled version — that writes the wrong characters in for good.
Fix 1: import with UTF-8
- In Excel, choose Data › From Text/CSV (Mac, Microsoft 365: Data › Get Data › From Text/CSV) and pick the file.
- In the preview, set File Origin to 65001: Unicode (UTF-8). The accents appear correctly in the preview.
- Check the Delimiter, then Load.
Fix 2: add a BOM so it opens right every time
A byte-order mark (BOM) is three invisible bytes at the start of a file that say “this is UTF-8”. Excel honours it on a double-click. The free CSV fixer adds it in your browser — the file never leaves your device — and can switch the separator at the same time. Numbers and Google Sheets read files with a BOM normally.
Fix 3: save it properly from Excel
If you've imported the file correctly and want to keep it as CSV, use File › Save As and choose CSV UTF-8 (Comma delimited), not plain “CSV (Comma delimited)”, which uses the old encoding and can turn letters it can't represent into ?.
Avoid it altogether
- Prefer Excel (.xlsx) files where you can: their text is always Unicode, so there's nothing to guess.
- When a system lets you choose, export CSV as “UTF-8 with BOM” for people who open it in Excel.
- Google Sheets and Numbers are safe places to check a CSV's content if Excel shows nonsense.
QuickScan's files
QuickScan reads tables in many languages — Polish, German, Czech, Spanish and more — so accented text is normal. Its CSV files are UTF-8 with a BOM, and its Excel files are Unicode throughout, so the letters open as printed. If the columns don't split, that's the separator, not the encoding: see CSV opens in one column.
On a computer? Point your iPhone's camera at the code to open QuickScan in the App Store.
3 free exports, then a one-time unlock. No subscription.
Questions
Why does Excel show é instead of é?
The CSV is saved as UTF-8 but Excel opened it with an older single-byte encoding. In UTF-8, é is two bytes; read the old way, they show as two characters: é. The text in the file is fine — only the reading is wrong.
What is a BOM?
A byte-order mark: three invisible bytes at the start of a UTF-8 file that tell Excel which encoding it is. With it, Excel reads accents correctly on a double-click; without it, it may guess wrong.
How do I save a CSV that keeps accents?
In Excel, Save As › CSV UTF-8 (Comma delimited). It writes UTF-8 with a BOM, which Excel, Numbers and Google Sheets all read correctly.
Do Numbers and Google Sheets have this problem?
Rarely: both read UTF-8 by default. It's mainly Excel opening a UTF-8 CSV without a BOM by double-click.