Free Text Encoding Converter — Fix Garbled Text, Convert to UTF-8
Fix subtitles, CSV and text files that show strange characters: see the file in every encoding, pick the readable one and save it as UTF-8, UTF-8 with BOM (for Excel), UTF-16 or an old code page. Many files at once. Runs in your browser; nothing is uploaded.
Drop text, subtitle or CSV files here, or click to choose
TXT, SRT, VTT, ASS, SSA, SUB, SBV, LRC, CSV, TSV, MD, JSON, XML, HTML, HTM, INI, CFG, LOG, NFO, CUE, M3U, TEX, YML, YAML, PROPERTIES · processed on your device
or press Ctrl+V to paste from your clipboard
You can drop multiple files at once
Your files never leave your device. All processing happens locally in your browser.
How It Works
Text files do not say which encoding they use. A BOM or valid UTF-8 is proof; otherwise the page decodes the first 64 KB with every code page your browser knows and scores each result for the marks of a wrong guess: replacement characters, control codes, box-drawing symbols, case flipping inside words, letters from several alphabets at once, and for Chinese, Japanese and Korean how many of the language's commonest characters appear. The likeliest is ticked, and each one shows the file's own lines so you can see which reads correctly.
- 1Add your filesDrop one or more text files: subtitles (SRT, VTT, ASS), CSV, TXT, lyrics and more. They are read on your device.
- 2Pick the readable versionEach encoding shows the file's first lines with accented or non-Latin letters. The likeliest is already ticked; choose another if it still looks wrong.
- 3Choose the outputUTF-8 for nearly everything, UTF-8 with BOM for Excel, UTF-16, or an old code page for an old device. Line endings can stay or change.
- 4DownloadOne file comes back with its own name; several come as a ZIP.
Your files are converted in this browser and never uploaded.
Guide
Worked example
A two-cue subtitle file called film.srt, saved by an old Windows program in Windows-1251 with Windows line endings, holds the lines "Привет, как дела?" and "Хорошо, спасибо." and is 107 bytes. In a player it shows as "Ïðèâåò, êàê äåëà?". Drop it on the page. The file is listed as "film.srt · 107 B", and under "Read the file as" you see five versions, each with the file's own lines. On an English browser the first is ticked and marked "likeliest": "Windows-1252 (Western European)", which reads "Ïðèâåò, êàê äåëà?". The third, "Windows-1251 (Cyrillic)", reads "Привет, как дела?". Tick it. Leave "Save as" on "UTF-8" and "Line endings" on "Keep", press "Convert file", and the page says "Converted." The download is film.srt again, now 133 B, because each Cyrillic letter takes two bytes in UTF-8.
Which settings to use, and the limits
- Judge by the preview lines, not by the badge. Only a byte order mark or valid UTF-8 earns the badge "certain", with the message "This file is UTF-8 for certain." For anything else the tool scores how suspicious each reading looks in the first 64 KB: replacement characters, control characters, letters from several scripts at once, capitals in the middle of words, and, for Chinese, Japanese and Korean, how many very common characters appear. Ties go to the usual code page for your browser language. The badge "likeliest" is a guess, so read the lines under each choice.
- Open "Show all 19 encodings" when none of the five looks right. Five versions are shown at first. "Show all 19 encodings" lists every one the tool can read: UTF-8, UTF-16 LE and BE, Windows-1250 to 1258, Windows-874, KOI8-R, KOI8-U, Shift_JIS, GBK, Big5 and EUC-KR. Each preview shows up to three lines that contain characters outside plain ASCII, each cut at 120 characters. If you pick one from the full list and then press "Show fewer", a line below says, for example, "Reading as Windows-1251 (Cyrillic)."
- Choose the output with "Save as". The list has "UTF-8" (the start), "UTF-8 with BOM", "UTF-16 LE (with BOM)", Windows-1250 to 1258, Windows-874, KOI8-R and KOI8-U. The page says UTF-8 "Works in almost every app, player and website." and UTF-8 with BOM is "Best for CSV files you open in Excel." The old code pages are for old devices or programs only. Shift_JIS, GBK, Big5 and EUC-KR can be read but not written. Any leading byte order mark in the input is dropped before the new one, if any, is added.
- Set the line endings if a program needs them. "Line endings" has "Keep" (the start), "LF (Mac, Linux)" and "CRLF (Windows)". LF and CRLF first turn every existing line break, including old lone carriage returns, into one kind, so a mixed file comes out consistent. The choice applies to every file in the batch. For a file that is plain English, the tool says: "Convert it if an app needs a BOM or other line endings."
- Convert several files in one go. Drop many files or press "Add more files". Each file has its own "Read the file as" choice; switch between them with the file-name buttons. "Save as" and "Line endings" apply to all of them. One file downloads under its own name. Several download as a ZIP named like converted-utf-8.zip, with repeated names numbered -2, -3. A file over 50 MB is skipped. If the page says "The files could not be converted. Try fewer at a time.", remove some files and convert again.
- Know what the tool does not touch. It accepts .txt, .srt, .vtt, .ass, .ssa, .sub, .sbv, .lrc, .csv, .tsv, .md, .json, .xml, .html, .htm, .ini, .cfg, .log, .nfo, .cue, .m3u, .tex, .yml, .yaml and .properties files. It changes only the encoding and, if asked, the line endings. Text inside the file is not edited, so an HTML or XML file that names its old encoding in a header still names it after conversion, and you need to change that line yourself.
Common problems and how to fix them
- It says "1 file was skipped: it could not be read or is over 50 MB."
- Each file must be 50 MB or smaller, and the browser must manage to read it. If the file lives in OneDrive, iCloud or Google Drive, save a copy to this device and add that. For a very large log, cut it into parts first. The other files you added stay listed.
- It says "This file only contains plain English letters, digits and punctuation, which read the same in every encoding."
- There is no list of encodings to pick from because every byte in the file is below 128, so choosing another encoding would not change a single character. If an app still shows odd characters, the problem is not this file's encoding. You can still convert it, as the message says, to add a BOM or change the line endings. A file with a zero byte in its first 4,096 bytes is not treated this way.
- It says "2 characters could not be saved in this encoding and became "?". Choose UTF-8 to keep every character."
- You chose an old single-byte code page under "Save as", and the text has characters it cannot hold. Each one was written as a question mark, and the number counts them. The converted file is ready to download, but those characters are now question marks, so do not use it. Choose "UTF-8" and convert again to keep every character. Use an old code page only for a device that needs one, and pick the one for your language.
- None of the versions reads correctly.
- Open "Show all 19 encodings". The correct one can rank below the top five. On an English page a Spanish file with ¿ or ¡ saved as Windows-1252 can sit lower, because such punctuation counts against a reading. Several code pages often score the same on a short file, so the right one can sit anywhere among them. Compare the lines in your own language and tick the one that reads naturally.
- It says "This file is UTF-8 for certain." but the text still looks wrong.
- The bytes are valid UTF-8, so the tool reads them exactly as written. Strange characters such as "é" are then part of the text itself, usually the result of an earlier wrong conversion, and reading the same bytes as another encoding will not undo that. Go back to the original file from before the first conversion and add that one instead.
How it compares
A text editor that can reopen a file in a chosen encoding and save it as UTF-8 does the same job, and suits you better if you also want to edit the text. This tool shows the candidate readings side by side with the file's own lines, converts many files in one go, and needs nothing installed. The files are read and converted in your browser and are not uploaded. It changes only the encoding and the line endings. It scores the first 64 KB to rank the guesses, and it does not try to repair text damaged by an earlier wrong conversion. It cannot write Shift_JIS, GBK, Big5 or EUC-KR.
Related Tools
Subtitle Extractor — MKV & MP4 to SRT
Extract the subtitle tracks inside an MKV, MP4, MOV, WebM or TS video as SRT, ASS or VTT files. Every language in one go, named so players find them. Runs in your browser; the video is not uploaded.
Subtitle Editor
Edit SRT/VTT subtitles in a table, preview them live over your video, and export.
Subtitle Shifter / Resync
Fix out-of-sync subtitles — shift all timings earlier or later and correct frame-rate mismatches. Keeps the original format. Runs in your browser.