VLC Subtitle Garbled / Wrong Characters: Fix Encoding
Garbled subtitles — question marks, black diamonds, or a wall of nonsense characters — are a text-encoding problem, not a damaged subtitle file. The subtitle file is fine; VLC is decoding it with the wrong character set. This is extremely common with legacy SRT files saved as Windows-1252 or Central European, and equally common with UTF-16 files. One preference change fixes it globally; the per-file override fixes it instantly.
Why does this happen?
- Wrong default encoding in VLC — VLC assumes UTF-8; legacy files in Windows-1251/1252/GBK get misread.
- UTF-16 encoded subtitles — some tools save SRT as UTF-16 with BOM; VLC’s auto-detection sometimes picks the wrong side.
- BOM-less UTF-8 with Chinese/Cyrillic content — without a BOM, VLC may guess a legacy codepage.
- ASS/SSA with unsupported charset headers — the file declares one encoding but contains another.
How to fix it
Fix 1Fix subtitle rendering (encoding)
Makes subtitles display correctly
Go to Tools > Preferences > Subtitles (under "Subtitles / OSD").
Subtitle settings open.
Set "Default encoding" to UTF-8 — and if that fails, try Windows-1252, Windows-1251 (Cyrillic), or the codepage matching your language (or try Windows-1252 / Central European for old files).
Text decodes correctly.
Click Save and reopen the video.
Subtitles re-render with the new settings.
Fix 2Override the encoding for one file (quick test)
Fixes the current file in 10 seconds — and identifies the right codepage
While playing, go to Subtitle > Sub Track (right-click menu) — open the "Character encoding" submenu if available.
Encoding options appear.
Cycle through UTF-8, Windows-1252, Windows-1251 until the text is readable.
The correct encoding is found.
Note the working encoding and set it as default in preferences.
Future files of this type decode correctly.
Fix 3Re-save the subtitle as UTF-8
The permanent, file-level fix
Open the .srt in Notepad++ (or VS Code / any editor with encoding control).
The file opens, possibly garbled.
Menu > Encoding > Convert to UTF-8 (without BOM is fine).
The file is converted.
Save, reload the video in VLC.
Subtitles render correctly everywhere, on any device.
Fix 4Reset VLC preferences to defaults
Clears corrupted settings that cause crashes, black screens and audio issues
Close VLC completely.
No VLC process is running.
Open a command prompt (Win+R → cmd) or terminal.
A command line is available.
Run:
vlc --reset-config(Windows/Linux) — on macOS delete~/Library/Preferences/org.videolan.vlcinstead.VLC preferences are restored to defaults.
Launch VLC and re-apply only the settings you actually need.
VLC starts with clean settings.
Advanced fixes
Fix 1Fix ASS files with wrong charset headers
Handles styled subtitles that ignore encoding settings
Open the .ass file in a text editor and check the "Script Info" header for a charset line.
The header is visible.
If the file contains Russian/Chinese in an otherwise UTF-8 header, re-save it as UTF-8 and remove any charset override line.
The header matches the content.
Reload in VLC — ASS styling now applies with correct text.
Styled subtitles are readable.
How to avoid it in the future
- Save subtitles as UTF-8 by default.
- Use tools (subliminal, subdownloader) that output UTF-8.
- If you hand-edit subtitles, keep the BOM or ensure the editor writes UTF-8.
Frequently asked questions
Why do my subtitles show as boxes (□) in VLC?
Does VLC support Chinese, Cyrillic or Arabic subtitles?
The subtitle looks fine in Notepad but garbled in VLC — why?
Garbled text only in fullscreen?
Summary
Fix subtitle rendering (encoding) — Makes subtitles display correctly. If it does not help, work through the remaining fixes in order: each targets a different layer of the problem. Most users resolve this issue by fix 3 at the latest. Keep VLC updated (current stable: 3.0.23) and revisit this guide when a new VLC version ships.