Fix subtitle encoding
Fix garbled subtitle characters and 'mojibake' by detecting the file's real encoding and re-decoding it correctly to UTF-8. Compare before and after, then download the fix. Free and in your browser.
100% private. Your files are processed locally in your browser and never uploaded to a server.
Drop a subtitle file
or click to browse · SRT, VTT, ASS/SSA
What "mojibake" is and why it happens
Mojibake is the garbled text you get when a file is read using the wrong
character encoding, so café turns into café, caf? or
caf�. The dialogue is not actually corrupted; the bytes are fine. The problem
is interpretation. A character encoding is simply the agreed table that maps bytes to letters, and
if a file is saved with one table but read with another, every non-English
character comes out wrong.
Subtitles are especially prone to this because so many were created years ago, on Windows, in regional encodings rather than today's universal UTF-8. A Spanish subtitle saved in Windows-1252, a Russian one in Windows-1251, or a Greek one in ISO-8859-7 will look perfect on the machine that made it and break the moment a modern, UTF-8-expecting player opens it. This tool reads the raw bytes, detects the encoding they were really written in, and re-decodes them correctly into UTF-8 that works everywhere.
When you'd use it
- Accented letters (é, ñ, ü, ç), curly quotes, em dashes or ellipses show up as strange symbols, boxes or question marks.
- Cyrillic, Greek, Arabic, Hebrew or East-Asian text appears as nonsense rather than the right script.
- A subtitle displays fine in one player but turns to gibberish in another, or on a different device or TV.
- You are tidying a subtitle collection and want every file standardised to UTF-8.
The most common culprits
The encoding a broken file came from is usually tied to its original language.
- Windows-1252 / ISO-8859-1 covers Western European languages (French, Spanish, German, Portuguese). By far the most common source of subtitle mojibake.
- Windows-1251 covers Cyrillic scripts (Russian, Ukrainian, Bulgarian, Serbian).
- ISO-8859-7 / Windows-1253 covers Greek.
- Big5 and GBK cover Traditional and Simplified Chinese.
- Shift_JIS covers Japanese.
- EUC-KR covers Korean.
You do not have to know which one you have. The detector works it out from the byte patterns. For a deeper, plain-English walkthrough, see the guide on fixing garbled subtitle characters.
How the repair works
The file's bytes are analysed statistically to guess the source encoding, then decoded with the browser's built-in, standards-compliant decoder and re-encoded as UTF-8. The before-and-after panels let you confirm the result looks right before you download. If the "after" text reads correctly in its language, the detection was right. If the file is already valid UTF-8, the tool says so and leaves it untouched rather than risking damage from a needless re-decode.
Avoiding mojibake next time
If you edit subtitles yourself, always save as UTF-8 (UTF-8 without a BOM is the safest choice for the widest player support). When you download a subtitle, prefer the UTF-8 version if the site offers a choice. Sticking to UTF-8 end to end means this whole class of problem simply never appears.
Is my file uploaded anywhere?
No. Detection and re-decoding happen entirely in your browser. Your subtitle file is never sent to a server, and there is no sign-up or limit.
Frequently asked questions
Why are the accented characters in my subtitles garbled?
The file was saved in a non-UTF-8 encoding, often Windows-1252 or ISO-8859-1. SubAlign detects the real encoding from the bytes and re-decodes the text correctly to UTF-8.
What is mojibake?
Mojibake is the garbled text, such as “café” instead of “café”, that appears when a file is read using the wrong character encoding.
Will this damage a subtitle file that is already correct?
No. If the file is already valid UTF-8, the tool tells you and leaves it untouched rather than risking any change.
How do I convert a subtitle file to UTF-8?
Drop the file into the tool and it detects the original encoding and re-decodes the text to UTF-8 automatically. Check the "after" panel reads correctly in its language, then download the UTF-8 copy. No need to know the source encoding yourself.
Why do my subtitles show boxes, question marks or random symbols?
Those are the telltale signs of a wrong-encoding (mojibake) file. It was saved in a regional encoding like Windows-1252 or Windows-1251 but is being read as UTF-8. Re-decoding it from its real encoding to UTF-8 restores the correct accented letters or script.
What encoding should subtitle files be saved in?
UTF-8, ideally without a byte-order mark (BOM), which gives the widest player compatibility and supports every language. Saving as UTF-8 end to end is the simplest way to avoid garbled characters in the first place.