How to Fix CSV Encoding in Excel: UTF-8, BOM, and Garbled Text
A CSV can contain perfectly valid UTF-8 text and still look broken when you open it in Excel. The usual cause is not the spreadsheet itself: it is the way Excel guesses the file’s encoding or delimiter. This guide explains when to use UTF-8 with BOM, how to fix garbled characters, and how to avoid confusing an encoding problem with a comma-versus-semicolon problem.
Quick answer
- Choose UTF-8 with BOM when people will open the CSV by double-clicking it in Excel.
- Choose plain UTF-8 when the app or service receiving the file specifically asks for it.
- If the whole file appears in one Excel column, check the delimiter before changing the encoding.
- CSV keeps text and values, but not formulas, formatting, charts, macros, or reliable column types.
UTF-8 versus UTF-8 with BOM
UTF-8 is the character encoding. It can represent Latin characters, Chinese, Japanese, Arabic, accented names, currency symbols, and emoji in one encoding. A byte order mark, or BOM, is an optional marker placed at the start of a UTF-8 file. It is not a different encoding and it does not make your text “more Unicode.”
Its practical purpose is compatibility. Microsoft documents that Excel can open a UTF-8 CSV normally when the file was saved with a BOM; otherwise, you can import it through Data → From Text/CSV and select the encoding. See Microsoft’s UTF-8 CSV guidance for the Excel workflow.
| Choose this output | Best for | Watch for |
|---|---|---|
| UTF-8 with BOM | People opening the file directly in Excel | Use plain UTF-8 instead if the destination’s instructions specifically require it |
| UTF-8 | Apps and services that ask for standard UTF-8 | Excel may need its import flow to recognize the encoding |
How to convert Excel to a UTF-8 CSV locally
This method is useful when you do not want to upload a workbook to a conversion service. xlsxtocsv.net reads the file in your browser, exports every visible worksheet separately, and creates a ZIP if there is more than one output CSV.
- Open the XLSX to CSV converter and choose one
.xlsxor.xlsfile up to 10 MB. - Review the visible worksheets and the preview. Hidden and very hidden worksheets are skipped for privacy.
- Under Encoding, choose UTF-8 with BOM for an Excel-friendly download, or choose UTF-8 when your destination requires it.
- Choose comma, semicolon, tab, or pipe as the delimiter your next tool expects.
- Download the CSV, or the ZIP containing one CSV for each visible worksheet.
The conversion itself stays on your device. If you later upload the downloaded CSV to another service, that upload is governed by the other service’s privacy rules. Read our privacy policy for the precise boundary of local conversion.
Save as CSV UTF-8 in Microsoft Excel
Current desktop versions of Excel offer CSV UTF-8 (Comma delimited) in the Save As type list. Open the worksheet you want, choose File → Save As, select that file type, then save a copy. Microsoft notes that text and CSV formats save the active worksheet rather than the complete workbook, so repeat the process for other sheets or use a tool that creates one file per sheet.
A CSV is a text file, not an Excel workbook. Microsoft’s format-loss reference explains why formulas, charts, styles, macros, and workbook behavior do not survive the format change. Keep the original XLSX as your editable source.
Fix the symptom you actually have
| What you see | Likely cause | What to do |
|---|---|---|
José, 测试, or question marks | Excel read UTF-8 as another encoding | Export with BOM, or import through Data → From Text/CSV and choose UTF-8 |
| Everything is in column A | The delimiter does not match the regional list separator | Import and choose the delimiter; for many locales, try semicolon instead of comma |
A value such as 00127 becomes 127 | Excel inferred a number when reopening the CSV | Use the import flow and set that column to Text |
03/04/2026 changes meaning | Excel inferred a date using local settings | Import with an explicit column type and verify the result |
| Formula cells show values only | CSV has no formula language | Keep the original workbook; CSV should be used as an exchange copy |
Encoding, separators, and how Excel reads dates or IDs are three different settings. A BOM helps Excel recognize UTF-8. It does not choose commas or semicolons, and it does not stop Excel from changing how an ID or date looks. Microsoft’s text import documentation covers selecting a separator and column format during import.
Verify the CSV before you share it
Use a small sample that contains the characters and values that usually fail. For example, include José, 李雷, 東京, €, an emoji, a leading-zero ID, and a date. First open the file in a plain-text editor, then open or import it in the destination application.
- Check that non-English characters look unchanged.
- Check that fields containing commas, quotes, or line breaks stayed in one field.
- Check the first row, especially if it is a header.
- Check long IDs, postal codes, dates, percentages, and currency display.
- For a multi-sheet workbook, confirm that the ZIP contains every expected visible sheet.
Preparing a file for AI analysis?
CSV is often easier to audit when you have one clean table, but it is not always the right choice for a multi-sheet or formula-heavy workbook. Read XLSX vs CSV for Claude before flattening a workbook for an AI tool.
Frequently asked questions
Does every UTF-8 CSV need a BOM?
No. A BOM is a short marker at the beginning of a UTF-8 file. It is often useful when people will double-click the CSV in Excel on Windows. Choose plain UTF-8 instead when the app or service receiving the file specifically asks for it.
Why does my CSV open in one column in Excel?
That is usually a delimiter mismatch, not an encoding problem. Your regional settings may expect semicolons instead of commas, or the file may use tabs. Import the file through Excel’s Text/CSV flow and choose the delimiter, or export with the delimiter your destination expects.
Will UTF-8 with BOM preserve leading zeros and dates?
It preserves the characters written to the CSV, but CSV has no column types. When Excel opens the file again, it can still infer a long ID as a number or reinterpret a date. Use Excel’s import flow and set affected columns to Text when you need to keep their appearance exactly.
Can one UTF-8 CSV contain every worksheet in my workbook?
No. CSV represents one flat table, not a workbook. Export each worksheet as its own CSV. This converter creates one CSV per visible worksheet and packs them into a ZIP when the workbook has more than one visible sheet.
Convert Excel to CSV UTF-8 with the right settings
Use UTF-8 with BOM when the file will be opened directly in Excel, and use plain UTF-8 when the receiving system expects it. Then confirm the delimiter and import settings separately. When you are ready, convert the workbook locally in your browser and keep the original Excel file as the editable source.
Sources reviewed: Microsoft Support documentation on UTF-8 CSV files, text import/export, and format loss. Last reviewed August 15, 2026.