How to Save an Excel File as CSV UTF-8 (Without Surprises)

Updated July 2026 · By the CSVUndo team · 6 min read

The quick answer: to keep accented and non-English characters intact, choose File → Save As and pick the file type “CSV UTF-8 (Comma delimited) (*.csv)” — not the plain “CSV (Comma delimited)” one. That option exists in Excel 2016 and later on Windows and Mac. Two honest catches most guides skip: Excel’s CSV UTF-8 export adds a hidden BOM at the start of the file that some importers choke on, and it only saves the sheet you’re currently looking at. This guide walks the exact steps, then covers both traps and what to do on older Excel.

The steps, by Excel version

Use Save As and pick the file type that has “UTF-8” in its name. The whole fix is one dropdown choice — the trick is knowing your version has it. Find your version in the table, then follow the three steps below.

Excel versionCSV UTF-8 option?What to do
Excel 2016 / 2019 / 365 (Windows)YesFile → Save As → CSV UTF-8 (Comma delimited)
Excel for Mac 2016 and laterYesFile → Save As → CSV UTF-8 (Comma delimited)
Excel 2013 and earlierNoSave as plain CSV, then re-encode (below) or use Google Sheets
  1. With your workbook open, choose File → Save As and pick the folder you want the file in.
  2. In the file-type dropdown, select “CSV UTF-8 (Comma delimited) (*.csv)” — look past the plain “CSV (Comma delimited)” entry, which is a different, older format.
  3. Type a file name and click Save. If Excel warns that the workbook has features that won’t survive as CSV, that’s normal — click Yes to keep the CSV.

That’s it. Open the result in a text editor and your café, Müller, and 北京 are all still there, exactly as typed.

CSV vs CSV UTF-8: why the plain option corrupts text

The plain “CSV (Comma delimited)” option saves in your system’s ANSI code page, not Unicode. On most Windows machines that code page is Windows-1252, which can only represent Western European characters. Anything outside that set — a Polish ł, a Turkish ğ, a curly apostrophe pasted from Word, a Chinese or Arabic name — is silently replaced, usually with a plain ?. Nothing warns you; the file looks fine in Excel and only breaks when someone else opens it. If you’ve seen question marks appear where letters should be, this is almost always the cause. CSV UTF-8 avoids it because UTF-8 can encode every character in Unicode, so the export is lossless.

The BOM gotcha nobody mentions

Excel’s CSV UTF-8 writes a UTF-8 byte order mark — the three bytes EF BB BF — at the very start of the file. Excel adds it to recognise the encoding on re-open, which is helpful inside the Microsoft world. Everywhere else it can bite: many importers, database loaders (COPY, LOAD DATA) and scripts don’t expect a BOM and treat those bytes as part of your first column. The classic symptom is a header that reads id instead of id, or a stray  before the first field — which then makes a lookup on the id column mysteriously fail.

So the right choice depends on who reads the file next:

Who opens the file nextWants
Excel, on the same or another PCUTF-8 with BOM — Excel’s CSV UTF-8 default
A database import, API, or scriptUTF-8 without a BOM

If your destination is a database or a script and it’s rejecting the file or mangling the first column, you need UTF-8 without a BOM. Full detail on what the mark is and how it behaves lives in our guide to the UTF-8 BOM in Excel. And if you’re unsure which Save As option to choose in the first place, see ANSI vs UTF-8 for CSV files.

Strip or add the BOM without a code editor

Our free browser converter lets you drop in an Excel CSV and toggle the BOM on or off, so you can hand Excel a file with the mark and a database a file without it. It runs entirely in your browser — nothing is uploaded.

Open the converter →

Only the active sheet gets saved

CSV is a single-table format, so Excel exports only the worksheet you’re currently on — every other tab is left out. This catches people with multi-tab workbooks: the file looks complete because Excel still shows the whole workbook, but the CSV on disk holds one sheet. Before saving, click the tab you actually want and confirm it’s active. To export several sheets, repeat once per tab with its own file name. Excel gives no warning that the others were dropped, so the check is on you.

No CSV UTF-8 option? (Excel 2013 and earlier)

Older Excel has no CSV UTF-8 entry at all — the dropdown stops at plain CSV. You have two reliable workarounds:

  1. Save then re-encode. Save the workbook as plain CSV (Comma delimited). If your data is all Western European this may already be fine; if not, open the saved file in a text editor such as Notepad, Notepad++ or VS Code, choose Save As, and set the encoding to UTF-8. This is also the route for removing a BOM from a newer Excel file. The full walkthrough is in how to change a CSV’s encoding to UTF-8.
  2. Round-trip through Google Sheets. Upload the workbook to Google Sheets, open it, then choose File → Download → Comma-separated values (.csv). Google’s CSV download is always UTF-8, so this sidesteps the old-Excel limitation entirely.

One honest caveat with the re-encode route: saving as plain CSV in old Excel already forces the data through Windows-1252, so any character it couldn’t represent was lost at that step — re-encoding to UTF-8 afterwards can’t bring it back, and a ? that Excel wrote stays a ?. If you have non-Western text, prefer the Google Sheets route, which never passes through the ANSI code page.

Frequently asked questions

How do I save an Excel file as CSV UTF-8?

Choose File → Save As, and in the file-type dropdown pick “CSV UTF-8 (Comma delimited) (*.csv)”, then name the file and click Save. This option is available in Excel 2016 and later on Windows and Mac, and it preserves accented and non-English characters that the plain CSV option corrupts. Remember that only the active worksheet is written.

What’s the difference between CSV and CSV UTF-8 in Excel?

Plain CSV (Comma delimited) saves in your system’s ANSI code page (Windows-1252 on most PCs), which can only hold Western European characters — anything else is silently replaced, often with a ?. CSV UTF-8 saves in UTF-8, which represents every character, so accents, curly quotes, euro signs and non-Latin scripts all survive. CSV UTF-8 also adds a byte order mark at the start of the file.

Why does my CSV UTF-8 file start with weird characters (the BOM)?

Excel’s CSV UTF-8 export writes a UTF-8 byte order mark — the bytes EF BB BF — at the very start of the file. Excel uses it to detect the encoding on re-open, but many importers and scripts don’t expect it, so it appears as odd characters before your first header or gets stuck onto the first field name. If a tool rejects it, re-save the file as UTF-8 without a BOM using a text editor or a converter.

How do I save UTF-8 CSV in old Excel that has no CSV UTF-8 option?

Excel 2013 and earlier have no CSV UTF-8 option. Save as plain CSV (Comma delimited), then re-open the file in a text editor and use Save As with the encoding set to UTF-8. Or upload the workbook to Google Sheets and use File → Download → Comma-separated values, which always produces UTF-8. For non-Western text, the Google Sheets route is safer because it never passes through the Windows-1252 code page.

Sources: Microsoft documents the CSV UTF-8 save option in this Microsoft Q&A on enabling Save As CSV UTF-8 and in the official guide to importing or exporting text and CSV files.