Subtitle encoding converter

When a subtitle file shows � marks or scrambled letters, it was usually saved in an older encoding and your player is reading it as something else. This tool reads the file in the encoding you choose and saves it as UTF-8. The file stays in your browser.

Fix your subtitle file's encoding

Upload a subtitle file (.srt, .vtt, .ass, .smi…) to repair its encoding.

How to use it

  1. Upload the subtitle file: .srt, .vtt, .ass, .ssa, .sbv, .sub, .smi or .txt.
  2. The tool picks a starting encoding: UTF-8 if the file is valid UTF-8, otherwise the older encoding that gives the fewest � marks. The guess can be wrong.
  3. Change Source encoding until the preview reads correctly.
  4. Click Download UTF-8. The copy keeps its extension and gets -utf8 added to the name, so movie.srt becomes movie-utf8.srt.

What it does to the file

  • It can read UTF-8, EUC-KR/CP949, Shift-JIS, GB2312/GBK/GB18030, Big5, Windows-1252/Latin-1 and Windows-1251.
  • The saved copy has no byte order mark (BOM). Only the encoding changes; the subtitle format, times and text stay as they are.

Older encodings by language

Before UTF-8 was common, subtitle files were saved in an encoding made for each language. The last column shows a sample word from such a file read as UTF-8.

LanguageOlder encodingRead as UTF-8
KoreanEUC-KR / CP949안녕하세요 → �ȳ��ϼ���
JapaneseShift-JISこんにちは → ����ɂ���
Simplified ChineseGB2312 / GBK / GB18030你好世界 → �������
Traditional ChineseBig5繁體中文 → �c�餤��
Western EuropeanWindows-1252 / Latin-1café → caf�
CyrillicWindows-1251Привет → ������

Why the text breaks

A subtitle file stores bytes, and the encoding decides which character each byte stands for. A Korean file saved as EUC-KR and opened as UTF-8 shows � marks, because its bytes don't form valid UTF-8.

It can also go the other way. A UTF-8 file opened by a program that assumes Windows-1252 shows café as café. That file is fine, and this tool reports it as UTF-8; the program has to be set to read it as UTF-8.

Questions

The preview is readable but in the wrong language. Why?
East Asian encodings share byte ranges, so a Korean EUC-KR file can decode under GB18030 or Big5 as real but meaningless Chinese characters. If the preview shows the wrong script, switch to the encoding for the file's language.
My player still shows broken text after converting.
Some older players and TVs only treat a file as UTF-8 when it starts with a byte order mark (BOM), and this tool saves without one. Look for a subtitle encoding setting in the player and set it to UTF-8.
Does it change the subtitle format?
No. The format and extension stay the same, so an .smi file comes back as an .smi file in UTF-8. To change the format afterwards, use the SRT, VTT, ASS or SBV converters.
Can I paste the text instead of uploading?
No. Pasted text has already been decoded by your browser or editor, so the original bytes are gone. Upload the file itself.