Does Microsoft Excel Support CSV Files with UTF-8 Encoding?
Introduction
CSV (Comma-Separated Values) is one of the most common data exchange formats. When CSV files contain international characters — accented letters, Chinese/Japanese/Korean text, or emoji — encoding matters. Excel’s handling of UTF-8 CSV has been a long-standing pain point.
Key Takeaways
- Excel can read UTF-8 CSV but doesn’t always detect the encoding automatically.
- Double-clicking a CSV often produces garbled characters (mojibake) if the file lacks a BOM.
- Adding a UTF-8 BOM to the file makes Excel detect encoding correctly on double-click.
- File > Open import wizard lets you manually specify UTF-8 encoding.
- Excel 365 / Excel 2021+ have improved UTF-8 auto-detection compared to older versions.
The Problem
When you double-click a .csv file to open it in Excel:
- Excel uses the system’s default encoding (typically Windows-1252 on English systems).
- UTF-8 multi-byte characters are misinterpreted.
- You see garbled text like
éinstead ofé, or䏿–‡instead of中文.
This happens because standard UTF-8 CSV files don’t include a byte order mark, and Excel doesn’t assume UTF-8.
Solutions
Solution 1: Add a UTF-8 BOM
The simplest fix for files you control is to save them with a UTF-8 BOM:
- In Notepad (Windows 11): Save As > Encoding > “UTF-8 with BOM”
- In Python:
open('file.csv', 'w', encoding='utf-8-sig') - In Node.js: Prepend
'\uFEFF'before writing the file.
Excel will then auto-detect UTF-8 when you double-click the file.
Solution 2: Use the Import Wizard
- Open Excel (don’t double-click the CSV).
- Go to Data > From Text/CSV (or File > Open in older versions).
- Select the CSV file.
- In the preview, change File Origin to 65001: Unicode (UTF-8).
- Click Load.
Solution 3: Save as .xlsx
If you’re distributing data, save as .xlsx instead of .csv. Excel’s native format handles Unicode correctly without encoding issues.
Version Comparison
| Excel Version | UTF-8 Auto-Detection | BOM Required? |
|---|---|---|
| Excel 2013 | No | Yes |
| Excel 2016 | Partial | Recommended |
| Excel 2019 | Improved | Recommended |
| Excel 365 (2024+) | Yes (most cases) | No (but helps) |
| Google Sheets | Yes | No |
| LibreOffice Calc | Yes (asks on import) | No |
Conclusion
Excel does support UTF-8 CSV files, but the experience depends on your Excel version and how you open the file. The most reliable approach is to add a UTF-8 BOM to your CSV files or use the import wizard. If you’re using Excel 365, auto-detection has improved significantly, though a BOM still provides the most consistent results across all versions.
Frequently Asked Questions
Why does Excel show garbled characters when I open a UTF-8 CSV?
Excel often defaults to the system's local encoding (e.g., Windows-1252) instead of UTF-8. Double-clicking a CSV file bypasses encoding detection. Use File > Open or add a BOM to fix this.
What is a BOM and should I add one to CSV files?
A BOM (Byte Order Mark) is a special invisible character at the start of a file that signals UTF-8 encoding. Adding a UTF-8 BOM (EF BB BF) makes Excel auto-detect UTF-8 when you double-click the file.
Does Google Sheets handle UTF-8 CSV better than Excel?
Yes. Google Sheets imports UTF-8 CSV files correctly by default without needing a BOM or manual encoding selection.