SubtitleMedic

Fix Subtitle Encoding

Seeing é, đ or ??? instead of letters? Load the subtitle file (.srt, .vtt, .ass, .sbv or .sub), check that the words read right, and download it as UTF-8, which every player, TV and website reads.

Processed in your browserNo sign-up.srt, .vtt, .ass, .sbv, & .sub

How to fix garbled subtitle characters

  1. Open the subtitle file

    Drop the file that shows broken letters into the box above, or click to browse. It can be .srt, .vtt, .ass, .ssa, .sbv or a MicroDVD .sub. It’s read by your browser and never uploaded.

  2. Check the letters

    The tool works out how the file was written and shows it decoded, with accented letters highlighted. If it isn’t sure, it lists the most likely versions side by side: pick the one where the words read correctly.

  3. Download as UTF-8

    Save the fixed file and put it next to your video in place of the old one. It keeps its name, so players still find it, and UTF-8 works in VLC, Plex, Jellyfin, YouTube, smart TVs and video editors.

Why subtitle letters turn into é, ??? or boxes

A computer stores text as numbers. An encoding is the table that says which number stands for which letter. For plain English the tables agree, which is why the dialogue stays readable while only the accents break. For everything else they differ.

Regional code pages. Before UTF-8 was everywhere, each region had its own table. Windows-1252 covered Western European languages, Windows-1250 Central European ones, Windows-1251 Cyrillic, Windows-1258 Vietnamese, and Shift_JIS, GBK, Big5 and EUC-KR the East Asian scripts. A subtitle file doesn’t say which table it uses, so a player has to guess. Read a Vietnamese Windows-1258 file as Windows-1252 and “bạn” becomes “baòn”; read it as UTF-8 and the accented bytes become question marks or the replacement character �.

Converted twice. Sometimes the damage happens before the file reaches you. Someone opens a UTF-8 file in an editor that assumes Windows-1252, sees nothing wrong in the English lines, and saves it as UTF-8 again. Every accented letter is now two or three wrong characters: “é” becomes “é”, “đ” becomes “Ä‘”, “ố” becomes “ố”. The file is valid UTF-8, so players show the garbage faithfully. Because the conversion followed a fixed table, it can be undone, and that is what the repair does.

Missing fonts. Empty boxes (□□) can also mean the letters are right but the player’s font has no shape for them. If the preview here shows the text correctly, the file is fine and the player needs a different subtitle font.

How the tool decides

When a file starts with a byte order mark, the mark names the encoding and nothing needs guessing. Otherwise the tool first checks whether the bytes are valid UTF-8, which almost never happens by accident. If they aren’t, it reads the start of the file with every supported code page and scores each result by how plausible the letters are where they stand: “é” between two letters is common, “Ô right after a lowercase letter is not, and Cyrillic mixed into a French word is a clear sign of a misread byte.

When one reading wins by a clear margin, you see “High confidence”. When two score close together, which happens with very short files, the tool says so, picks the most likely one and asks you to compare. Encodings that would read your file exactly the same way are shown only once, so every choice you see is a real difference.

Tips for a clean fix

Judge by the words, not the encoding name. You don’t need to know what Windows-1258 is. Look for the version where names and common words are spelled the way you expect, then check a few lines deeper in the file in the preview.

Keep the same file name. Players match subtitles to videos by name, such as movie.mp4 with movie.srt or movie.vi.srt. The fixed file keeps the original name, so replace the old file with it.

Old TV still showing wrong letters? Some older TVs and set-top boxes only recognise UTF-8 when the file begins with a byte order mark. Tick “Add a BOM for older TVs and players” and download again.

Need another format too? The fixed file keeps the format it came in. Once it is saved, follow the link under the download to the conversion tools and open the fixed file there. If the letters are right but the lines appear too early or too late, fix the timing with Shift Subtitle Timing.

Frequently asked questions

Why do I see é or ? instead of letters?

The file was saved in one text encoding and your player reads it with another. Older subtitles were often saved in a regional code page such as Windows-1258 for Vietnamese or Windows-1252 for French and Spanish. A player that expects UTF-8 reads those bytes wrongly and shows odd symbols, question marks or empty boxes.

What is UTF-8, and why is the fixed file saved in it?

UTF-8 is the text encoding that covers every language in a single file. Almost every player, TV, media server and website reads it correctly without being told, which is why the fixed file is always saved as UTF-8.

My file is already UTF-8 but still shows é. Can you fix it?

Usually, yes. That pattern means the letters were converted twice before you got the file, for example read as Windows-1252 and saved as UTF-8 again. The tool finds those lines, turns the letters back into what they were and shows each repaired line in the preview. You can switch the repair off if you prefer to keep the file as it was.

The tool isn’t sure which encoding is right. What should I do?

Compare the versions it lists. Each one shows the first lines of your file as that encoding reads them, so pick the one where the words look right in your language. The preview and the download follow your choice straight away.

Will this change my timing or text?

No. Only the way the letters are stored changes. Timing, line breaks and formatting stay exactly the same, and repaired lines are the only ones whose text changes.

Are my subtitle files uploaded?

No. The file is read and fixed by JavaScript in this browser tab and never leaves your device. The tool keeps working if you go offline after the page has loaded.