Fix garbled Cyrillic / Russian subtitles

Russian, Ukrainian, Bulgarian, or Serbian subtitles showing up as абв or a wall of question marks? They were saved in the old Windows-1251 Cyrillic encoding and your player is reading them as UTF-8. Drop the file in below to restore the text.

Drop your .srt or .vtt file here
or click to choose a file · or paste the text below
Output
Always exported as clean UTF-8

Why Cyrillic subtitles turn into gibberish

Older Cyrillic subtitle files — especially Russian ones from DVD-era rips and local sites — were saved in Windows-1251, the legacy 8-bit Cyrillic code page, rather than UTF-8. Modern players and browsers assume UTF-8, so they misread those bytes and you get mojibake: strings like привет where привет should be, or rows of ? and empty boxes.

The fix is to read the file's original bytes as Windows-1251 and re-save them as UTF-8, which every current player understands. This page pre-selects Windows-1251 for you — drop the file in, check that the preview shows readable Cyrillic, then download the clean UTF-8 copy. If it still looks wrong, a few older files use ISO-8859-5 instead; you can switch to it from the dropdown.

Not sure which encoding your file is in? Detect the encoding first → Want the background? Why subtitle characters get garbled →

FAQ

Why do my Russian subtitles show абв or question marks?

The file was saved in Windows-1251, the legacy Cyrillic encoding, but your player is reading it as UTF-8. The bytes are fine — they are just being interpreted with the wrong table. Re-decoding from Windows-1251 to UTF-8 restores the Cyrillic text.

Which encoding should I pick for Cyrillic?

Windows-1251 covers the vast majority of Russian, Ukrainian, Bulgarian, and Serbian subtitle files, and it is pre-selected here. A few older files use ISO-8859-5; if Windows-1251 does not give clean text, try that from the dropdown.

Will this change the subtitle timings or text?

No. Only the character encoding is converted. The timings, line breaks, and the actual words are untouched — the letters simply render correctly again.

Is my file uploaded anywhere?

No. The re-decoding happens in your browser with JavaScript. The file never leaves your device and works offline.