Convert a text file to UTF-8

Fix a text file that opens as garbled characters. The source encoding is detected for you — Shift-JIS, EUC-JP, ISO-2022-JP, UTF-16, and Chinese, Korean and Cyrillic encodings are all read. No installation, done in seconds.

Drag & drop a file here, or click to browse

Accepts: .txt, .csv, .tsv, .md, .json, .xml, .html, .htm, .log, .sql, .yml, .yaml, .ini, .srt, .vtt

When this helps

Accounting staff

An old accounting system exports CSVs that garble when opened in modern tools.

Drop the export in as it is — it comes back as UTF-8 that Excel and Google Sheets read correctly.

Developers

Incoming logs and CSVs arrive in a mix of encodings and the import script chokes on them.

Normalise each one to UTF-8 before it reaches the pipeline.

Anyone with an old archive

A text file from years ago is a wall of symbols in every application.

Let detection work it out, and the original text comes back.

FAQ

Do I have to know the source encoding?
No — detection is the default. The file's byte order mark is checked first, and failing that the encoding is inferred from the content and then verified by actually decoding the file with it. The answer is shown with your result. Detection is occasionally wrong, and the "Source encoding" list is there for exactly those cases.
Which encodings can it read?
UTF-8, UTF-16, Shift-JIS (CP932 / Windows-31J), EUC-JP, ISO-2022-JP, GB18030 (Chinese), Big5 (Traditional Chinese), EUC-KR / CP949 (Korean), Windows-1252 and ISO-8859-1 (Western European), and Windows-1251 and KOI8-R (Cyrillic).
It still looks garbled in Excel
Japanese editions of Excel read a CSV without a byte order mark as Shift-JIS (CP932), so a perfectly valid UTF-8 file still opens as garbage. If opening it in Excel is the goal, use the Convert to Shift-JIS page instead — Excel opens that without any prompting. Everything else (Notepad, VS Code, Google Sheets) is happy with the UTF-8 from this page.
Does the result have a byte order mark?
No. The output is UTF-8 without a BOM, and a BOM on the input is removed rather than carried across.
Are line endings changed?
No. CRLF stays CRLF and LF stays LF — this tool changes the character encoding and nothing else.
Is my file saved to your server?
No — if your browser supports WebAssembly (WASM, a technology that runs software safely and quickly right inside your browser), the file never leaves your device. If that isn't available, it falls back to normal server-side processing, which holds the file only while it is being converted and deletes it the moment it has been — nothing is kept either way.
What's the file size limit?
10MB per file.

Related tools