Free Subtitle Tool
Subtitle encoding converter — fix garbled subtitles
When subtitles show squares or scrambled letters, the file was saved in a legacy encoding your player can't read. Re-decode it here and save clean UTF-8 — instantly, in your browser, with nothing uploaded.

Fix your subtitle file's encoding
Upload a subtitle file (.srt, .vtt, .ass, .smi…) to repair its encoding.
Why use Picute's encoding converter?
- ✓ Works entirely in your browser — your subtitle file is never uploaded to a server
- ✓ Reads the raw bytes and re-decodes them as EUC-KR / CP949, Shift-JIS, GB18030 / GBK, Big5, Windows-1252 or Windows-1251
- ✓ Live preview for every encoding, so you can pick the one that actually reads correctly
- ✓ Saves clean UTF-8 with no BOM — the portable encoding every modern player and platform expects
How it works
- Upload the garbled subtitle file (.srt, .vtt, .ass, .smi and more)
- Picute checks whether it is already UTF-8 or an older regional encoding
- Pick the source encoding until the live preview reads correctly
- Download the repaired file as clean UTF-8
Subtitle encodings by language
A subtitle file is just bytes. If it was saved in an old per-language encoding and your player assumes UTF-8 (or vice-versa), you get garbled text. Here's which legacy encoding each language used — convert any of them to UTF-8 above.
| Language / region | Legacy encoding | What you see when it's wrong |
|---|---|---|
| Korean | EUC-KR / CP949 | Shows as `�ȳ��ϼ���` or replacement boxes when read as UTF-8 |
| Japanese | Shift-JIS | Turns into `����ɂ���` or `?`-marks when read as UTF-8 |
| Simplified Chinese | GB2312 / GBK / GB18030 | Becomes `�������` scrambled symbols when read as UTF-8 |
| Traditional Chinese | Big5 | Appears as `�c�餤��` when read as UTF-8 |
| Western European | Windows-1252 / Latin-1 | café becomes `café`, Düsseldorf becomes `Düsseldorf` |
| Cyrillic | Windows-1251 | Russian text shows as `������` when read as UTF-8 |
Why subtitles turn into mojibake
“Mojibake” is the scrambled text you get when a file's bytes are decoded with the wrong character set. There are two common cases. A legacy file (EUC-KR, Shift-JIS, Big5…) opened by a UTF-8 player shows replacement characters like `�`. A UTF-8 file opened by an old player as Windows-1252 shows Latin gibberish — `café` becomes `café`.
The fix is the same either way: re-decode the original bytes with the encoding they were actually saved in, then re-save as UTF-8 — the one encoding every modern player understands. This tool does exactly that, entirely in your browser. Pick the source encoding, eyeball the live preview until the text reads correctly, and download a clean UTF-8 copy.
Frequently asked questions
- Why are my subtitles showing question marks, boxes, or random letters?
- The file was saved in a legacy encoding (like EUC-KR, Shift-JIS, or Big5) and your player is reading it as UTF-8 — or the reverse. Re-decoding the bytes with the correct encoding and saving as UTF-8 fixes it permanently, for every player.
- What are EUC-KR, Shift-JIS, GB18030, and Big5?
- They're older per-language character encodings from before Unicode was universal: EUC-KR/CP949 for Korean, Shift-JIS for Japanese, GB2312/GBK/GB18030 for Simplified Chinese, and Big5 for Traditional Chinese. Modern players expect UTF-8 instead, so files in these encodings often look garbled.
- How do I fix Korean, Japanese, or Chinese subtitle mojibake?
- Open the subtitle file above, pick the matching source encoding in the dropdown, check that the live preview reads correctly, then download the UTF-8 version. Nothing is uploaded — it all happens in your browser.
- Does this upload my subtitle file anywhere?
- No. The file's bytes are read and converted entirely in your browser — they never leave your device. No upload, no account, no limits.
- Which subtitle formats and encodings are supported?
- Any text-based subtitle: .srt, .vtt, .ass, .ssa, .sbv, .sub, .smi, or .txt. Source encodings: UTF-8, EUC-KR/CP949, Shift-JIS, GB2312/GBK/GB18030, Big5, Windows-1252/Latin-1, and Windows-1251. The output is always clean UTF-8 with no BOM.
Amazingly simple to use
Share your content with the world in just three simple steps.
01
Upload
Upload your video or paste a YouTube link.
02
Generate
Our AI processes your video for transcription and translation.
03
Download
Download the translated and subtitled video, or share it directly.
Ready to go global?
Join creators worldwide using Picute to reach global audiences
No credit card required · Free forever plan · Cancel anytime