Troubleshooting8 min read

Why Does My SRT File Show Strange or Broken Characters? How to Fix Subtitle Encoding

Fix broken SRT characters, strange symbols, and unreadable non-English text. Learn how character encodings work, UTF-8 vs ANSI, font glyph issues, and how to recover damaged text.

Have you ever opened an SRT subtitle file and found strange symbols instead of normal text?

You may see characters such as é, ’, “, 😊, or random boxes (□□□) and question marks. Sometimes English dialogue works perfectly, but Hindi, Arabic, Chinese, Japanese, Korean, or accented European characters appear completely broken.

This problem is almost always caused by subtitle character encoding.

An SRT file is a plain text file containing cue numbers, timestamps, and text lines. If the subtitle file is saved using one character encoding (such as Windows-1252 or ANSI) but your media player or subtitle editor reads it using another (like UTF-8), the bytes are decoded incorrectly.

The good news is that the subtitle text itself may not be permanently damaged. In most cases, you simply need to open the file with its original encoding and convert it to clean UTF-8.

In this guide, you will learn why SRT files display strange characters, how character encoding works, how to distinguish encoding errors from font glyph issues, and how to fix broken SRT subtitles without losing your timing.


What Does SRT Character Encoding Mean?

An SRT file looks like plain human-readable text on screen:

1
00:00:01,000 --> 00:00:04,000
Hello, how are you?

However, computers do not store letters directly—they store numerical bytes according to a specific character encoding map.

Different encodings map numerical bytes to letters in different ways:
- UTF-8: The universal web and subtitle standard. Uses 1 to 4 bytes per character, supporting every living language and emojis.
- UTF-8 with BOM: UTF-8 with a 3-byte Byte Order Mark (EF BB BF) at the start of the file.
- UTF-16: Uses 2 or 4 bytes per character, common in Windows system internals.
- Windows-1252 (ANSI): A legacy 8-bit single-byte encoding for Western European languages.
- ISO-8859-1 / Latin-1: An older 8-bit standard for Western Europe.
- GBK / Big5 / Shift-JIS / EUC-KR: Legacy encodings for Chinese, Japanese, and Korean.

When a media player reads an SRT file using the wrong character map, bytes get translated to the wrong symbols. This text corruption is commonly known as Mojibake.


Common Examples of Broken Subtitle Characters

Intended TextCorrupted Output ObservedCause of Error
Accented letter (é)CaféUTF-8 multi-byte read as Windows-1252
Curly apostrophe ()don’tUTF-8 punctuation read as ANSI
Quotation marks (“ ”)“Helloâ€UTF-8 smart quotes decoded as single bytes
Emoji (😊)😊4-byte UTF-8 emoji read as legacy Latin-1
Hindi (नमस्ते)□□□□□□ or नमसà¥UTF-8 Devanagari read as ANSI or missing font glyph
Spanish (¿Dónde?)¿Dónde?Spanish inverted question mark & accent mismatch

UTF-8: The Gold Standard for Subtitle Files

For modern video production, streaming, and editing workflows, UTF-8 is the safest choice.

flowchart TD
    A[Subtitle File with Special Characters / Multilingual Text] --> B{What Encoding Is Used?}
    B -->|Legacy ANSI / Windows-1252| C[Scrambled Accents on Mac/Linux/Web]
    B -->|Language-Specific e.g. Shift-JIS| D[Fails on Non-Japanese Systems]
    B -->|Universal UTF-8| E[Renders Accents, Emojis, Asian & Indic Scripts Universally]
    E --> F[Compatible with VLC, Plex, WebVTT, YouTube, Smart TVs]

Advantages of UTF-8:

1. Universal Compatibility: Supported across VLC, MPC-HC, MPV, Plex Media Server, HTML5 video players, YouTube, and mobile OSes. 2. Compact File Size: Standard English ASCII characters remain 1 byte, while special characters expand dynamically. 3. Multilingual Support: Can display English, Hindi, Arabic, Japanese, Spanish, and French simultaneously in a single file.

Encoding Problems vs. Missing Font Glyphs

It is critical to distinguish an encoding problem from a font support problem:

SYMPTOM 1: Garbled Symbols (é, ’, 😊)
Cause: Character Encoding Mismatch (Software decoded bytes incorrectly)
Fix: Re-encode file to UTF-8

SYMPTOM 2: Boxes, Question Mark Diamonds (□□□, )
Cause: Missing Font Glyphs (The font lacks characters for Hindi/Arabic/Japanese)
Fix: Change subtitle font in your player to a Unicode font (e.g. Noto Sans, Arial Unicode MS)

If your SRT file is correctly encoded in UTF-8 but displays as boxes (□□□), your video player is simply using a font that doesn't contain glyphs for that language. Changing the subtitle font in your player's settings will fix this immediately.


Step-by-Step: How to Fix Broken SRT Subtitles

Method 1: Convert to UTF-8 Using a Text Editor

  1. Open your SRT file in VS Code, Notepad++, or Sublime Text.
  2. Look at the bottom status bar where the current encoding is displayed (e.g., UTF-8 or Windows 1252).
  3. If the characters look garbled, click the encoding in the status bar $\rightarrow$ select Reopen with Encoding $\rightarrow$ test legacy options (such as Windows 1252, ISO-8859-1, or UTF-8) until the text is fully readable.
  4. Once the characters render cleanly, click the encoding again $\rightarrow$ select Save with Encoding $\rightarrow$ choose UTF-8.
  5. Save the file.

> [!WARNING]
> Do not simply save already-corrupted text as UTF-8. If your editor displays Café and you hit Save as UTF-8, you will permanently burn the corrupted characters into the file. Always ensure the text is readable before saving!

Method 2: Adjust Player Subtitle Encoding Settings

If you don't want to edit the file, you can adjust your media player:
- VLC Media Player: Go to Tools $\rightarrow$ Preferences $\rightarrow$ Subtitles / OSD $\rightarrow$ set Default encoding to Universal (UTF-8).
- Plex Media Server: Subtitles should always be saved in UTF-8. Read our guide on Why Are My SRT Subtitles Not Showing in Plex? for more fixes.


Convert or Optimize Your Subtitles for Other Platforms

Once your character encoding is corrected to UTF-8:


Frequently Asked Questions

Why does my SRT file show weird symbols?

This happens because of a character encoding mismatch: the SRT file was saved in one encoding (like UTF-8, ANSI, or ISO-8859-1), but your video player or subtitle editor is reading the file using a different character set.

How do I fix an SRT file with broken characters?

Reopen the SRT in a text editor (like VS Code or Notepad++) that allows you to select the original encoding until the text renders correctly. Then choose Save with Encoding and convert it to standard UTF-8.

Is UTF-8 good for SRT subtitles?

Yes. UTF-8 is the universal industry standard for modern subtitle workflows. It supports Latin alphabets, accents, Hindi, Arabic, Chinese, Japanese, Korean, Cyrillic, Greek, and emojis in a single compact format.

Why does my Hindi SRT show boxes?

Boxes (□□□) or "tofu" glyphs usually indicate a missing font problem rather than an encoding error. The player may recognize the UTF-8 text, but the active subtitle font lacks Devanagari font glyphs.

Why does my SRT show é instead of é?

This classic error (called "Mojibake") occurs when a multi-byte UTF-8 character (é = 0xC3 0xA9) is interpreted as two separate legacy Windows-1252 / ISO-8859-1 single-byte characters (Ã and ©).

Can I fix SRT encoding without changing subtitle timing?

Yes. Re-encoding an SRT file only modifies how text bytes are stored and decoded. The start and end timestamps, index numbers, and timing markers remain completely unaltered.

Should I convert every SRT file to UTF-8?

Yes, converting legacy subtitle files to UTF-8 is recommended for maximum cross-platform compatibility across modern web browsers, media centers like Plex, smart TVs, and mobile video players.

Is broken SRT text caused by the video?

No. The video file itself does not control character encoding for external subtitles. Encoding issues are strictly contained within the text file and the subtitle parser of your media player.


Final Thoughts

Strange or garbled characters in an SRT file do not mean your subtitle file is ruined.

In almost all cases, the underlying dialogue is intact and simply needs to be re-saved in universal UTF-8 format.

By understanding the difference between encoding mismatches and missing font glyphs, you can quickly diagnose whether you need to convert your file or switch your video player's font.

Explore our full collection of free browser-based subtitle conversion utilities in the SRTConverters Tool Suite to format, clean, and convert your subtitle files anytime with complete privacy.