Skip to Content
RowSlice

Free Online CSV Encoding Converter

Convert a CSV to UTF-8 and Fix Special Characters

Accented letters and symbols showing up as é or ’? Convert the CSV to UTF-8 that Excel reads correctly. The same step can also change the delimiter, for example from semicolons to commas.

  • Multi-GB files
  • Never uploaded
  • Free, no sign-up

In short: The RowSlice CSV to UTF-8 converter re-saves a CSV file as UTF-8, with a byte order mark (BOM) by default so Excel shows accented letters and symbols correctly, and can switch the delimiter between comma, semicolon, tab and pipe in the same pass. It recognises UTF-8 and, by its byte order mark, UTF-16 on its own, treats any other file as Windows-1252 (ANSI), and reads ISO-8859-2, Shift JIS or GBK when you pick them. The file is read in your browser a few megabytes at a time and never uploaded, so there is no set size cap; the limit is the free disk space your browser can use. The result is always UTF-8: it cannot convert to ANSI or any other encoding.

How to Convert a CSV File to UTF-8

  1. Choose or drag in the CSV file. Its encoding and delimiter are detected from the first 256 KB of the file and shown above the options, for example Detected: WINDOWS-1252, semicolon separated.
  2. Look at the preview. If letters still look wrong, change the Encoding under Advanced Options until they look right.
  3. Pick the delimiter you want in the result, and keep Add a UTF-8 BOM ticked if the file will be opened in Excel.
  4. Press Convert File and download the fixed CSV, named yourfile-converted.csv.

Which Garbled Characters Mean What

You seeShould beWhat happenedFix
CaféCaféUTF-8 file read as Windows-1252Convert with BOM ticked
don’tdon’tUTF-8 curly apostrophe read as Windows-1252Convert with BOM ticked
M�nchenMünchenWindows-1252 file read as UTF-8Convert (encoding detected automatically)
Everything in column ASeparate columnsDelimiter does not match Excel's regional settingChange the delimiter

If you see é and the file has already been saved again by another program, the damage may be written into the file itself, and converting will faithfully keep é. In that case go back to the original export if you can.

When it is not clear which line of that table applies, first run the file past the CSV validator: it names the encoding it detected, says whether the file starts with a byte order mark, and lists the bytes that are not valid in that encoding, all without changing the file.

Why CSV Encoding Goes Wrong So Often

A CSV file is plain text and has no place to say which character encoding it uses. Most modern systems write UTF-8, which can store every language. Excel on Windows, when it opens a CSV by double-click, assumes the older encoding of your Windows region unless the file starts with a UTF-8 byte order mark. Many exports from web apps, databases and Google Sheets do not include one, so accented letters, curly quotes and currency symbols come out garbled.

Which Encodings It Reads

The converter turns ANSI and UTF-16 files into UTF-8, the only encoding it writes. It works out the encoding from the first 256 KB of the file, and you can override its choice:

EncodingDetected automatically?How it is recognised
UTF-8 with a BOMYesThe file starts with the bytes EF BB BF
UTF-8 without a BOMYesThe text is valid UTF-8
UTF-16 LE or BEYes, when it has a BOMThe file starts with FF FE (LE) or FE FF (BE)
Windows-1252 (ANSI)Yes, as the fallbackAnything that is not valid UTF-8
ISO-8859-2 (Central European)NoChoose it under Advanced Options
Shift JIS (Japanese)NoChoose it under Advanced Options
GBK (Chinese)NoChoose it under Advanced Options

ANSI is the name Notepad and other Windows programs give the older encoding, and on a US or Western European copy of Windows it means Windows-1252. A file described as Latin-1 or ISO-8859-1 can be read as Windows-1252 too: the two have the same letters in the same places.

Because Windows-1252 is the fallback, a file with no BOM that is not valid UTF-8 is read that way at first. The bytes alone cannot show whether a file is Windows-1252, ISO-8859-2 or another older encoding, so if the preview shows the wrong accented letters, pick a different one from the Encoding menu under Advanced Options and the preview updates. Do the same for a UTF-16 file without a BOM: choose UTF-16 LE or UTF-16 BE yourself. Other encodings, such as Big5, EUC-KR or Mac Roman, are not in the menu.

Converting a UTF-16 file to UTF-8 is also what lets you read it in RowSlice's viewer, which finds rows by their position in bytes and stops on a UTF-16 file rather than showing every character half a step out.

One case to watch in large files: if the first 256 KB of an ANSI file has no accented letters or special symbols at all, it is taken for UTF-8, and accented letters further down come out as �. If you know the file is ANSI, choose Windows-1252 before converting. How to tell which encoding a file uses from its symptoms is covered in UTF-8, UTF-16 and Windows-1252: which one is your CSV?

UTF-8 with or without a BOM

The box Add a UTF-8 BOM so Excel shows accented characters correctly is ticked by default. It adds a BOM (byte order mark), three invisible bytes at the very start of the file that Excel on Windows needs before it will read a double-clicked UTF-8 CSV correctly.

Untick it for a file going to a database, a script or a web app's import screen. Some of those treat the three bytes as part of the first column name, so a column called id can no longer be found by that name. With the box unticked the result has no BOM even if the original had one, so this is also how to convert a CSV to UTF-8 without a BOM. CSV UTF-8 vs CSV in Excel shows the same file opened in Excel with and without one.

Change the Delimiter from Semicolon to Comma

Like the encoding, the delimiter Excel expects depends on your region. In regions where the decimal separator is a comma, spreadsheet programs save and expect semicolons, so a CSV from a US system opens as a single column in a German or French Excel, and a CSV from a European Excel confuses US software.

To change a CSV's delimiter, set Delimiter in the result to Comma, Semicolon, Tab or Pipe before you convert. The switch happens in the same pass as the conversion to UTF-8, and any value that contains the new delimiter is put in quotes so it stays in one column. Which delimiter your Excel expects, and other ways to fix a file that lands in column A, are covered in why your CSV opens in one column in Excel.

What This Converter Changes, and What It Doesn't

The result is always UTF-8. When you keep the same delimiter, each row's text is copied as it is, so quoting and values like 00742 do not change. When you change the delimiter, values are re-quoted only where needed. Line endings can be kept, or set to Windows (CRLF) or Mac and Linux (LF). The file is processed in small chunks on your own computer, so large files are converted without being uploaded.

Last updated .

FAQ

Frequently Asked Questions

Why does my CSV show characters like é, ’ or ü?

The file is UTF-8, but the program opening it read it as Windows-1252 (or another older encoding). In UTF-8, é is stored as two bytes, and read the old way those two bytes show up as é. Saving the file as UTF-8 with a BOM tells Excel which encoding to use, and the characters display correctly.

Why does my CSV show � or ? instead of letters?

Usually it is the opposite problem: the file was saved in an older encoding such as Windows-1252, and it is being read as UTF-8. Choose the file above; the tool detects this, and you can pick a different encoding under Advanced Options until the preview looks right. The converted file is saved as UTF-8. Real question marks stored in the file are different: if the preview shows ? in place of the letters whichever encoding you pick, the letters were lost when the file was saved in an encoding that could not hold them, and no converter can bring them back. Save or export the file again as UTF-8 from the program that made it.

Which encodings are supported?

RowSlice's CSV to UTF-8 converter detects UTF-8 (with or without a byte order mark) and, by its byte order mark, UTF-16 LE or BE on its own; any other file is read as Windows-1252 until you choose a different encoding. ISO-8859-2 (Central European), Shift JIS (Japanese) and GBK (Chinese) can be chosen by hand under Advanced Options. ANSI on a US or Western European copy of Windows means Windows-1252, and a Latin-1 (ISO-8859-1) file can be read as Windows-1252 too. Whatever goes in, the result is always UTF-8.

Can it convert UTF-8 back to ANSI or another encoding?

No. RowSlice's CSV to UTF-8 converter writes only UTF-8, with or without a BOM; there is no option to save as ANSI (Windows-1252) or any other encoding. If an older program insists on ANSI, save a copy in that format from the program that made the file (in Excel, CSV (Comma delimited)) and check it: in RowSlice's test with Excel 2021 on US-English Windows, characters ANSI cannot hold, such as ō or Japanese text, were saved as question marks. CSV UTF-8 vs CSV in Excel has the details.

What is a BOM and should I add one?

A byte order mark is three invisible bytes (EF BB BF) at the start of a file that mark it as UTF-8. Excel on Windows relies on it: without a BOM, Excel opens UTF-8 CSV files with the wrong encoding. Keep the box ticked if the file will be opened in Excel. Untick it for programs and databases that treat the BOM as part of the first column name.

Why does Excel put all my data in column A?

The delimiter in the file does not match your computer's list separator. In countries that write decimals with a comma, such as Germany, France or Brazil, Excel expects semicolons; elsewhere it expects commas. Convert the file to the delimiter your Excel expects and it will open in columns. Why your CSV opens in one column in Excel explains where that setting comes from and covers other fixes.

Will converting to commas break values that contain commas?

No. Any value containing the new delimiter, a quote or a line break is wrapped in quotes, following the CSV standard (RFC 4180). A price like 1,50 in a semicolon file becomes "1,50" in the comma version.

Does converting the encoding change any of my values?

No. When you keep the same delimiter, each row is copied through as its own text, so quoting, leading zeros like 00742 and long ID numbers are untouched — only the bytes that encode the characters change. When you change the delimiter, values are re-quoted where the standard requires it. The conversion runs in your browser and nothing is uploaded, at any file size.

Can I convert an Excel (.xlsx) file to CSV UTF-8 here?

No. The converter reads plain-text files (.csv, .tsv, .txt and .tab), and an .xlsx workbook is not plain text. In Excel, choose File › Save As and pick CSV UTF-8 (Comma delimited), which writes UTF-8 with a BOM. It saves only the sheet that is active at the time, so save each sheet separately. CSV UTF-8 vs CSV in Excel compares all four of Excel's CSV formats.

Guides

More Tools

More CSV Tools

CSV Analyzer

Count the rows, list the columns and profile the values in a CSV too big to open.

CSV Viewer

Page through and search a CSV that is far too large for Excel, without uploading it.

Compare Two CSV Files

See what was added, removed and changed between two exports, matched on an ID column.

Take a Sample from a CSV

Pull the first rows, every Nth row or a random slice out of a huge file for testing.

Sample CSV File Generator

Download realistic test CSV files from 10 rows up to 20 GB, with messy values on request.

Split CSV into Multiple Files

Cut a CSV that Excel refuses to open into multiple files by rows, size or number of parts.

Split CSV by Column Value

One file for every store, region, client or status — straight from a huge export.

Filter CSV Rows

Keep only the rows you need — by value, text match or number range — from a file of any size.

Merge CSV Files

Combine multiple CSV files into one, lining up columns by name, even when the result is too big for Excel.

Remove Duplicates from CSV

Delete repeated rows from millions of records, comparing whole rows or chosen columns.

Convert CSV to Excel

Make a real .xlsx file without losing leading zeros, long IDs or turning codes into dates.

Convert CSV to JSON

Turn a CSV into a JSON array or NDJSON, with every value kept exactly as written.

Convert JSON to CSV

Flatten a JSON array or NDJSON export into a spreadsheet-ready CSV.

CSV Validator

Find the broken rows, bad quotes, wrong encoding and duplicate IDs before an import fails.