Fix subtitle encoding

Turns garbled subtitles back into readable text. Detects the source encoding, previews the fix live, and outputs clean UTF-8. In your browser, no upload.

Runs in your browser. Files never leave your device.

Drop a subtitle file

or ·

any subtitle file · processed in your browser · nothing is uploaded

Why subtitles turn into gibberish

A text file is just bytes; an encoding is the table that turns those bytes into letters. For decades, subtitles were saved in regional single-byte encodings — Cyrillic in Windows-1251, Arabic in Windows-1256, Greek in ISO-8859-7, Western European in Windows-1252. Today’s players assume UTF-8, so they read the old bytes through the wrong table and you get здравеÐthemed nonsense, accented soup, or the replacement character .

Detect, preview, re-save as UTF-8

Drop the file and the tool guesses the original encoding by analysing which scripts the bytes resolve to and how closely they match real letter frequencies. The before/after preview shows the garbled text next to the repaired text, cue by cue, so you can confirm at a glance. The download is clean UTF-8 that any modern player reads.

read as UTF-8 (wrong)        decoded as Windows-1256 (right)
الترجمة              الترجمة العربية

Detection is a best guess — short files are genuinely ambiguous between similar encodings — so when the preview still looks off, pick the encoding from the dropdown and it updates live.

The “é” case: double-encoded UTF-8

A nastier failure: text that was already UTF-8 got read as Windows-1252 and saved again. Now “café” reads “café” and a curly apostrophe becomes “’”. The file passes as valid UTF-8, so naïve detectors leave it alone. This tool recognises the pattern and reverses the extra layer automatically, with a note when it does.

Clean output

  • UTF-8 out — the universal default; works in modern players, editors and the web.
  • Optional BOM — off by default; enable only for the rare Windows player that needs it.
  • Structure untouched — only the text encoding changes; timing and cues are preserved. Fix structural problems next with the SRT repair tool.
  • Private — detection and conversion run locally; nothing is uploaded.

Frequently asked questions

What causes the weird characters (“é”, “Д, “�”) in my subtitles?

The file was saved in one encoding and your player is reading it as another. Older subtitles are often Windows-1251 (Cyrillic), Windows-1256 (Arabic), ISO-8859-7 (Greek) or Windows-1252 (Western), but modern players assume UTF-8 — so the bytes get misread. This tool decodes with the right encoding and re-saves as UTF-8.

What is “double-encoded UTF-8”?

A specific, common breakage where text that was already UTF-8 got read as Windows-1252 and saved again — turning “é” into “é” and “’” into “’”. The file is technically valid UTF-8, so detectors miss it. This tool spots that pattern and reverses it automatically.

The auto-detection guessed wrong. Can I override it?

Yes. Pick the encoding from the dropdown and the preview updates instantly — try a couple until the text reads correctly. Detection is a best guess (short files are ambiguous), so the manual override and live preview are there for exactly this.

Should I add a BOM?

Usually no — leave it off for the cleanest UTF-8. Tick “add BOM” only if a specific Windows player still shows the file wrong without one. The BOM is a tiny invisible marker at the start of the file.

Is anything uploaded?

No. Detection and re-encoding happen in your browser. The bytes of your file never leave your device.