How to Fix SRT Subtitle Encoding Problems and Garbled Characters
Fix garbled SRT characters, strange symbols, and question marks. Learn how character encodings work and how to convert subtitle files to UTF-8 without losing timing.
Have you opened an SRT subtitle file and found strange symbols instead of normal text? Characters may appear as boxes, question marks, random letters, or unreadable symbols. This is a common problem with subtitle files, especially when they contain accented characters or languages other than English.
The good news is that your subtitles may not be damaged at all. In many cases, the problem is caused by character encoding.
SRT files are simple text files, but the way that text is stored can affect how it appears in different video players, subtitle editors, and devices. If the software uses a different encoding from the one used to save the SRT file, the subtitle text can become garbled.
In this guide, you will learn why SRT encoding problems happen, how to identify them, and how to fix garbled characters without unnecessarily changing your subtitle timing or content.
What Is SRT Subtitle Encoding?
Character encoding is the way text is stored as data inside a file.
When you type a subtitle such as:
"Where are you going?"
your computer does not store those letters as plain visual characters. It stores numerical data that software interprets and displays as text according to an encoding map.
Different character encodings use different methods to represent characters. Common encodings you may encounter with subtitle files include UTF-8, UTF-8 with BOM, and Windows-1252 (ANSI).
If an SRT file was saved using one encoding but your video player reads it using another, characters may not be displayed correctly.
For example, a subtitle containing accented characters (like "é" or "ñ") might display normally in one program but appear as strange symbols like "é" in another.
This is why an SRT file can look perfectly fine in a text editor but appear broken when loaded into a video player.
What Do Garbled SRT Characters Look Like?
Encoding problems can appear in several different ways depending on the language and encoding mismatch:
- Question marks instead of letters: Common when text is converted across incompatible encoding sets (e.g. "caf?" instead of "café").
- Strange multi-character symbols: Often seen when UTF-8 text is read as ANSI/Windows-1252 (e.g. "é" instead of "é").
- Empty boxes or replacement glyphs: Displayed when a font or player cannot map the character byte sequence.
- Accented characters displayed incorrectly: Accents, tildes, and umlauts getting replaced by unrelated punctuation.
- Asian or non-Latin alphabets appearing unreadable: Cyrillic, Arabic, Chinese, Japanese, or Korean characters turning into unreadable strings of gibberish.
The exact appearance depends on the original encoding and the software being used to open the file.
Why Does My SRT File Have Garbled Characters?
There are several possible reasons for corrupted text in an SRT file.
1. The SRT File Uses an Incompatible Encoding
The most common cause is a mismatch between the encoding used to save the file and the encoding expected by the software reading it.
For example, an SRT file may have been created using an older legacy encoding like Windows-1252, while your modern video player expects UTF-8.
2. The Subtitle Contains Special Characters
English subtitles containing only basic ASCII letters and numbers (A-Z, 0-9) usually work across almost all systems without obvious problems.
The situation changes when subtitles contain:
- Accented letters (á, é, í, ó, ú, ñ, ü)
- Non-Latin alphabets (Greek, Cyrillic, Hebrew, Arabic)
- Asian languages (Chinese, Japanese, Korean)
- Special typography (em dashes, smart quotes, copyright symbols)
These characters require multi-byte Unicode encoding to display reliably across different devices.
3. The SRT Was Created by Older Software
Older subtitle programs and legacy transcription websites often saved SRT files using region-specific encodings (such as ISO-8859-1 for Western Europe or Big5 for Traditional Chinese).
While the file was technically valid on older operating systems, modern media players default to UTF-8 and may misinterpret the text.
4. The File Was Converted Incorrectly
If an SRT file was converted from another subtitle format or edited in software without explicit encoding controls, the text encoding may have been corrupted during saving.
This results in garbled text even though the subtitle timestamps and cue timing remain completely intact.
How to Fix SRT Encoding Problems
The easiest solution is to open the SRT file in an editor that allows you to choose and convert character encodings.
Follow these simple steps:
Step 1: Make a Backup of Your SRT File
Create a duplicate copy of your original subtitle file before changing its encoding.
This step is critical because saving a corrupted file in the wrong format can overwrite the underlying character data permanently. Keeping the original file safe gives you a fallback if you need to test another encoding.
Step 2: Open the SRT File in an Advanced Text Editor
Use a capable text editor like VS Code, Notepad++, or Notepad on Windows (or TextEdit / BBEdit on Mac).
Open the SRT file and observe the subtitle text:
- If the text looks correct in the editor but garbled in your media player, the issue is with player settings or font rendering.
- If the text looks garbled inside the editor too, the file was opened with the wrong encoding map and needs to be reopened using its original character set.
Step 3: Convert and Save as UTF-8
UTF-8 is the universal standard for modern digital subtitles and supports virtually every character across all world languages.
In your editor, select the encoding menu, choose UTF-8 (without BOM), and save the file.
After saving, reopen the file to confirm that all accented letters and foreign characters appear crisp and readable.
Step 4: Test the SRT File in Your Video Player
Load the newly saved UTF-8 subtitle file into your video player alongside your video.
Spot-check several timestamps throughout the file—especially lines containing accented dialogue or non-English text—to make sure all captions render cleanly.
How to Change an SRT File to UTF-8
The exact steps vary slightly depending on your operating system and text editor:
Using Notepad (Windows)
- Open your
.srtfile in Notepad. - Click File > Save As...
- In the dialog box, look at the Encoding dropdown at the bottom.
- Select UTF-8.
- Click Save (choose a new name or replace the existing file).
Using VS Code / Notepad++
- Open the
.srtfile. - In the bottom status bar, click the current encoding label (such as
Windows-1252orUTF-8). - Select Reopen with Encoding to find the original readable text if currently corrupted.
- Click the encoding label again, choose Save with Encoding, and select UTF-8.
If you need to extract the raw text or re-generate subtitles from clean transcripts, you can also use our SRT to Text Converter or TXT to SRT Converter.
Should You Use UTF-8 for Every SRT File?
Yes. UTF-8 is the recommended industry standard for all modern subtitle workflows.
Unless you are authoring subtitles for legacy hardware players from twenty years ago that explicitly require a specific single-byte ANSI code page, saving your subtitle files in UTF-8 guarantees maximum compatibility across modern operating systems, web players, smartphones, and streaming platforms.
If you are converting your subtitles for web video playback, remember that HTML5 video players require WebVTT format. You can convert your clean UTF-8 SRT file using our SRT to VTT Converter.
How to Fix Question Marks in an SRT File
One of the most frustrating encoding glitches is finding question marks (?) where special characters used to be.
This usually happens when a file containing multi-byte characters is opened in an editor using ASCII or a restricted ANSI character set, and then saved. Because the editor did not understand the characters, it replaced each unknown byte with a literal question mark.
What Should You Do?
- Go back to your original source file: Once actual question mark characters have been written into the file and saved, the original character data has been destroyed in that copy.
- Reopen the original with the right encoding: Open the untouched original file using an editor that lets you cycle through encodings (e.g. Windows-1252, ISO-8859-1, or UTF-8) until the real letters appear.
- Save as UTF-8: Once the letters look correct on screen, save the file as UTF-8.
How to Fix Strange Symbols in SRT Subtitles
If your subtitles display bizarre symbol strings like é, ’, or ñ, you are seeing a classic "mojibake" encoding error.
This happens when a file was saved in UTF-8, but your video player or editor opened it using ANSI/Windows-1252 encoding. The multi-byte UTF-8 sequence for a single letter gets mistakenly read as two separate single-byte ANSI symbols.
The Fix
- Open the file in an editor that supports encoding selection.
- Make sure the editor reads the file as UTF-8.
- Save the file cleanly as UTF-8.
- If the video player still shows strange symbols, check the player's subtitle settings to ensure the default subtitle text encoding is set to Auto-detect or UTF-8.
Can Encoding Problems Affect Subtitle Timing?
Under normal circumstances, changing character encoding does not alter your subtitle timing.
Character encoding only governs how letters and symbols are represented in binary data. The numerical digits, colons, commas, and arrows that make up your timestamps remain identical.
However, if an inexperienced user attempts to "clean up" garbled characters using aggressive search-and-replace scripts, they might accidentally delete timestamps or alter line spacing.
After fixing encoding, verify:
- The first subtitle timestamp
- A couple of timestamps in the middle of the file
- The final subtitle timestamp before the credits
If all timestamps match your original video, your subtitle synchronization is completely preserved.
How to Avoid SRT Encoding Problems in the Future
Follow these best practices to keep your subtitle workflow smooth and error-free:
- Always default to UTF-8: Set your subtitle editors and transcription software to export in UTF-8 by default.
- Keep untouched source backups: Never edit your only copy of a subtitle file without making a backup first.
- Avoid unnecessary multi-software conversions: Passing subtitle files through multiple different legacy programs increases the risk of encoding alterations.
- Check files on target devices: Always preview subtitle tracks in the actual player or platform your viewers will use.
- Use dedicated subtitle tools: When converting between formats, use reliable tools from our Subtitle Tools collection that preserve Unicode encoding and timing.
What If the SRT File Still Has Garbled Characters?
If you have tried converting to UTF-8 and the text remains garbled, the file may have suffered irreversible text corruption, or it may be saved in a specialized non-Latin encoding (such as Shift-JIS for Japanese or EUC-KR for Korean).
In that case, try opening the original file in an editor like VS Code and selecting "Reopen with Encoding" to cycle through language-specific encodings until the readable text appears. If the text was permanently overwritten with question marks, re-downloading or re-exporting the subtitle file from the original source is the best solution.
Frequently Asked Questions
Why are my SRT subtitles showing weird characters?
The most common reason is a character encoding mismatch. The SRT file was likely saved in one encoding (such as Windows-1252 or ISO-8859-1) while your video player or editor is reading it using another (such as UTF-8).
How do I fix garbled text in an SRT file?
Open the SRT file in a text editor that supports encoding options (like VS Code or Notepad++), ensure the text displays correctly, and re-save the file with UTF-8 encoding.
Does converting SRT to UTF-8 change subtitle timing?
No. Changing the character encoding only affects how text characters are stored and does not modify the numerical timestamps or synchronization of your subtitle cues.
Why do I see question marks instead of special characters?
Question marks appear when software fails to interpret a multi-byte character and replaces it with a generic placeholder. If saved in that state, the original text is lost, so you should restore from your original backup file.
Is UTF-8 good for SRT subtitles?
Yes. UTF-8 is the industry standard encoding for subtitles because it supports virtually all characters across all world languages while maintaining universal compatibility with modern media players.
Can an SRT file work in one video player but not another?
Yes. Different video players have different default encoding settings. A player configured for UTF-8 will display accented characters properly, while a player defaulting to a legacy code page may show garbled text.
Can I fix a corrupted SRT file?
If the corruption is simply an encoding mismatch, converting the file to UTF-8 will fix it completely. If the text characters were permanently overwritten with placeholder symbols, you will need to restore the file from a clean source.
Final Thoughts
Garbled characters in an SRT file may look alarming, but in most cases, the subtitle content and timing are completely safe.
By understanding how character encoding works and saving your files in standard UTF-8 format, you can quickly fix strange symbols, question marks, and unreadable accents across all your video projects.