Convert Persian subtitles from Windows-1256 to UTF-8
A large share of older Persian subtitles were saved in Windows-1256, the Arabic-script encoding of Windows at the time. Phones, smart TVs, Plex and current players expect UTF-8, so those files show question marks, boxes or Latin gibberish. Upload one file or a ZIP of a whole season, and get each one back in UTF-8, same name, same format, with Persian letters and punctuation cleaned up. Jobs with up to 3,000 lines are free in full; bigger batches are $5.
- Windows-1256 recognized from the bytes, no setting needed
- Files already in UTF-8 left in UTF-8 and checked line by line
- Output UTF-8 with a byte order mark, which older TVs rely on
- SRT, VTT, ASS, SSA, MicroDVD SUB and SAMI accepted, or a ZIP
- Up to 50 files or a ZIP per job, 50,000 lines in total
Why Windows-1256 files break today
Windows-1256 stores each Persian or Arabic letter as a single byte between 128 and 255. Nothing in the file says which encoding it uses, so a program has to guess. Software set up for Persian guessed right; most modern players, phones and TVs assume UTF-8 instead, where those same bytes are invalid, and show question marks or boxes.
UTF-8 stores every script unambiguously, so a converted file reads the same everywhere. The converter has its own Windows-1256 table, which includes the Persian letters پ چ ژ گ and the zero-width non-joiner used in words like میخواهم, so nothing is lost on the way.
A season at a time
Old series often come as a folder of episode files, all in the same encoding. Put them in a ZIP, folders included, and upload it. Each file is converted separately and keeps its name and format: an .srt comes back as .srt, an .ass keeps its styles, and SAMI files come back as SRT. The summary on screen tells you how many files were converted from Windows-1256 and how many were already UTF-8.
The same pass fixes the details that usually come with old files: Arabic ي and ك become Persian ی and ک, question marks and commas become ؟ and ،, punctuation that was moved to the front of the line goes back to the end when the file shows that pattern, and every line gets an invisible right-to-left mark.
Tips
- Keep the original files; the converted ones have the same names, so download them to a new folder
- If a player shows small boxes at the line ends after converting, run the files again with right-to-left marks left out
- For subtitles that are also out of sync, convert first, then use Fix Subtitle Sync
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 convert Persian subtitles to UTF-8?
A chatbot works on text, not on the raw bytes of your file, so by the time a Windows-1256 file is pasted the letters are already broken. Some assistants can run code on an uploaded file if you know to ask for Windows-1256, but a season of files is a lot of separate work. This tool recognizes the encoding and converts every file in one job.
How do I know my file is Windows-1256?
If it shows question marks, boxes or accented Latin letters in a modern player but looks right in an old Windows program, it is very likely Windows-1256. You do not need to be sure: the tool detects it.
What does a whole season cost?
If the files together have up to 3,000 lines, the job is free in full. A bigger season is $5, paid once, for up to 50 files or a ZIP and 50,000 lines. Unlimited is $19 a week.
Will the file format change?
No. Each file comes back in its own format and name, except SAMI and SubViewer, which come back as SRT. You can also download everything as SRT.
Can I use it for Arabic or Urdu files?
Yes. Windows-1256 covers Arabic and Urdu as well; choose the right language so the letter rules match.
Is the text sent anywhere?
No AI model is used; the conversion runs in code. Only you can open the job, and jobs uploaded without an account are deleted after 7 days.