Persian subtitles showing strange characters? Turn them back into Farsi
Persian subtitles that appear as سلام, ÓáÇã, rows of question marks or empty boxes are almost always readable underneath. The file was saved in an old encoding, or read in the wrong one and saved again. Upload it, and the tool works out which mistake happened, reverses it, and gives you clean UTF-8 Farsi with punctuation on the correct side. Jobs with up to 3,000 lines are free in full; a season is $5, paid once.
- سلام: UTF-8 text read as Western and saved again; reversed
- ÓáÇã: Windows-1256 text read as Western and saved again; reversed
- Question marks or boxes in VLC: often a Windows-1256 file read as UTF-8; converted
- Arabic ي and ك replaced with Persian ی and ک; right-to-left marks added
- Same file names and formats back, as UTF-8
What each kind of garbage means
Take the word سلام. Saved as UTF-8, each Persian letter is two bytes. If a program reads those bytes as Western European text and saves the result, each letter turns into two Latin characters, and you get سلام. Many lines full of Ø and Ù are the sign of this mistake.
If the file was originally in Windows-1256, the old Windows encoding for Persian and Arabic, each letter is one byte. Read as Western text and saved again, سلام becomes ÓáÇã: one accented Latin letter per Persian letter. A file still in Windows-1256 that a player reads as UTF-8 shows question marks or replacement boxes instead, because those bytes are not valid UTF-8.
All three can be undone, because the letters are still there in another form. The tool checks which pattern the file shows, turns the characters back into the bytes they came from, and reads them with the right encoding.
What else is repaired
- Punctuation moved to the start of the line, as in ".سلام", put back at the end when the whole file shows that pattern
- Old direction control characters removed and a right-to-left mark added at both ends of each line
- Arabic ي and ك, common in older Persian files, replaced with ی and ک
- ? , ; replaced with ؟ ، ؛, leaving numbers such as 1,000 alone
- Tags such as <i> and {\an8} left in place
When the letters cannot come back
If the file itself contains real question marks where the letters should be, because some program replaced characters it could not store, the original letters are gone and no tool can recover them; look for another copy. If the letters are boxes only on one TV or player, and the same file reads fine on a computer, the device lacks a font for Persian script, and no change to the file can fix that. If the boxes appear only around the text, run the file again with the right-to-left marks left out.
How the tool works, what it costs and how your files are handled is on the Fix Persian & Arabic Subtitles page; prices for every tool are on the pricing page.
Last updated
Questions and answers
Can ChatGPT fix Persian subtitles that show strange characters?
If you paste a line of سلام, it may recognize the pattern and guess the words. A whole film is too long for one reply, and copying garbled text through a chat can lose the exact characters needed to reverse it. This tool reverses the encoding mistake on every line, byte by byte.
Why does the same file look fine on my computer but not on my TV?
Your computer probably guesses the encoding correctly while the TV assumes UTF-8, or the TV has no Persian font. Converting to UTF-8 fixes the first case; the second needs a different player.
Will the timing change?
No. Only the text is repaired. Times, order and formatting stay as they were.
How much does it cost?
A file or job with up to 3,000 subtitle lines in total, which covers most single films, is free in full, download included. A season is $5, paid once, for up to 50 files and 50,000 lines.
Does it work for Dari and Arabic too?
Yes. Choose the language before uploading; Dari gets the same letter rules as Persian, and Arabic keeps its own ي and ك.
Can I see what was fixed?
Yes. The summary on screen says how many files were converted from which encoding, how many had garbled letters repaired and how many had punctuation moved back.