Quick Answer: To add Sinhala subtitles to any video player, ensure your subtitle file is in UTF-8 encoding, name it identically to your video file (e.g.,
movie.mp4andmovie.srt), and configure your player to use a Unicode font like Noto Sans Sinhala or Iskoola Pota. For VLC, go to Tools > Preferences > Video > Subtitles/OSD > Text renderer and select a Sinhala-supporting font. For MX Player, tap the subtitle icon > Settings > Character Encoding > UTF-8. For Smart TVs, use SRT format instead of VTT and ensure exact filename matching.
Introduction
Watching your favorite movies and TV series with Sinhala subtitles is a fantastic experience, but older media players often struggle to render Sinhala Unicode characters correctly. You may have experienced missing vowel modifiers (පිල්ලම්), square boxes, or disconnected letters when loading an .srt file.
In this guide, we'll walk through how to configure the most popular media players on PC, Mac, and mobile to ensure crisp, beautifully rendered Sinhala subtitles every time. If you're experiencing character display issues, see our troubleshooting guide on fixing broken Sinhala characters.
1. VLC Media Player (Windows & Mac)
VLC is the world's most versatile video player, but by default, its subtitle font may not have full Sinhala Unicode glyph support.
Step-by-Step Setup:
-
Name Matching Method:
- Place your video file and subtitle file in the exact same folder.
- Give them identical names (e.g.,
Inception.2010.1080p.mp4andInception.2010.1080p.srt). - Open the video in VLC, and the subtitles will load automatically.
-
Fixing Broken Sinhala Fonts in VLC:
- Go to Tools > Preferences (or press
Ctrl + Pon Windows,Cmd + ,on Mac). - In the bottom-left corner, switch Show settings to All.
- Navigate to Video > Subtitles / OSD > Text renderer.
- Set Font to Iskoola Pota, Noto Sans Sinhala, or Nirmala UI.
- Then go to Input / Codecs > Subtitle codecs > Subtitles and set Subtitle text encoding to Universal (UTF-8).
- Click Save and restart VLC.
- Go to Tools > Preferences (or press
-
Adjusting Subtitle Timing (Sync Fix):
- If the audio and subtitles are out of sync:
- Press
Hto delay subtitles by 50ms (if subtitles appear too early). - Press
Gto show subtitles 50ms sooner (if subtitles appear too late). - On macOS, VLC uses
J(later) andH(sooner) instead.
- Press
- If the audio and subtitles are out of sync:
Worked Example: VLC Configuration
Problem: You download a Sinhala subtitle file for The.Matrix.1999.1080p.mp4, but VLC shows square boxes instead of Sinhala text.
Solution:
- Rename subtitle to
The.Matrix.1999.1080p.srt(exact match) - Open VLC > Tools > Preferences > Show settings: All
- Navigate to Video > Subtitles/OSD > Text renderer
- Change Font from "Default" to "Noto Sans Sinhala"
- In Input / Codecs > Subtitle codecs > Subtitles, change Subtitle text encoding to "Universal (UTF-8)"
- Save and restart VLC
- Reload the video — Sinhala text now renders correctly
2. MX Player (Android)
MX Player is the top choice for Android devices and natively supports UTF-8 Sinhala subtitles.
Setup Instructions:
- Open the video in MX Player.
- Tap the Subtitle icon in the top-right corner.
- Tap Open > browse to your downloaded Sinhala
.srtor.vttfile. - Font Styling & Encoding:
- Go to Settings > Subtitle > Character Encoding > select UTF-8.
- Under Appearance, select a clean sans-serif font and enable a subtle text shadow or black border for high legibility over bright scenes.
Advanced MX Player Features for Sinhala:
- Dual Audio: MX Player supports switching between English and Sinhala audio tracks if your video has them
- Hardware Acceleration: Try toggling HW+ vs SW decoding if Sinhala text appears distorted
- Custom Font Loading: Download
NotoSansSinhala-Regular.ttfand place it in/sdcard/Android/data/com.mxtech.videoplayer.ad/fonts/for better rendering
3. MPV Player (Windows, macOS, Linux)
MPV is an ultra-fast, lightweight player favored by power users. It handles complex text shaping and Sinhala diacritics natively through libass.
Configuration (mpv.conf):
Add the following lines to your mpv.conf file for optimal Sinhala typography:
# Subtitle Font Settings
sub-font="Noto Sans Sinhala"
sub-font-size=48
sub-color="#FFFFFFFF"
sub-border-color="#FF000000"
sub-border-size=3.2
sub-shadow-offset=1
sub-codepage=utf-8MPV Configuration Location:
- Windows:
%APPDATA%\mpv\mpv.conf - macOS:
~/.config/mpv/mpv.conf - Linux:
~/.config/mpv/mpv.conf
MPV Command-Line Options:
You can also specify subtitle settings per session:
mpv --sub-file=subtitles.srt --sub-font="Noto Sans Sinhala" --sub-font-size=42 video.mp44. Web Browsers (HTML5 Video & WebVTT)
If you are embedding Sinhala subtitles on a website using the HTML5 <video> element, use the WebVTT format:
<video controls width="800" poster="movie-poster.jpg">
<source src="movie.mp4" type="video/mp4" />
<track
label="Sinhala (Spoken)"
kind="subtitles"
srclang="si"
src="movie.si.vtt"
default
/>
</video>Ensure your web page imports a web font such as Noto Sans Sinhala via Google Fonts so that browsers across all operating systems render the letters uniformly.
CSS Styling for WebVTT:
::cue {
font-family: 'Noto Sans Sinhala', sans-serif;
font-size: 1.2em;
background-color: rgba(0, 0, 0, 0.7);
color: white;
}5. Smart TVs and Streaming Devices
Smart TVs (Samsung, LG, Sony) and streaming boxes (NVIDIA Shield, Roku, Fire TV) have specific requirements for subtitle rendering.
Smart TV Best Practices:
- Use SRT format: Most Smart TVs prefer SRT over VTT
- Exact filename matching:
MovieName.mp4must matchMovieName.srt - UTF-8 encoding: Some TVs need a Byte Order Mark (BOM) to detect UTF-8, while a few reject it — if the first subtitle is missing, re-save without the BOM
- External USB drive: Place both video and subtitle files in the same folder on a USB drive
- Network streaming: If using DLNA/UPnP, ensure your media server serves the subtitle with correct MIME type
Samsung TV Specifics:
- Samsung TVs are particularly picky about subtitle encoding
- Save as UTF-8 (never ANSI, which cannot store Sinhala) using tools like Notepad++ or Subtitle Edit
- Avoid WebVTT format — Samsung TVs often ignore it
6. iOS Devices (iPhone & iPad)
iOS has built-in support for subtitles through the Videos app and third-party players.
Method A: Files App + VLC for iOS
- Save both video and subtitle files to your Files app
- Import them into VLC for iOS using the "Open In" feature
- VLC for iOS supports the same font configuration as desktop VLC
Method B: Infuse Player (Paid)
Infuse is a premium iOS player with excellent subtitle support:
- Auto-detects SRT/VTT files
- Has built-in Sinhala font support
- Supports custom subtitle styling
- Syncs with iCloud Drive
Troubleshooting Common Issues
Issue: Subtitles Show as Question Marks or Squares
Cause: Wrong file encoding or missing font support Solution:
- Open the subtitle file in Notepad++ or VS Code
- Check encoding is UTF-8 (not ANSI or UTF-16)
- Convert to UTF-8 if needed
- Ensure your player has a Sinhala-supporting font selected
Issue: Subtitles Load But No Text Appears
Cause: Font color matches background or font size is too small Solution:
- Increase subtitle font size in player settings
- Change subtitle color to white with black outline
- Enable text shadow or background
Issue: Timing is Off Throughout Entire Video
Cause: Constant offset due to different video version Solution: Use player sync tools (VLC: G/H keys, MX Player: sync menu) or permanently fix using Subtitle Edit timing adjustment
Frequently Asked Questions
Can I use Sinhala subtitles on YouTube?
Yes, YouTube accepts both SRT and VTT formats. Upload your subtitle file through YouTube Studio > Subtitles > Add. YouTube will process the Unicode Sinhala text correctly regardless of viewer device.
Why do some Android players show broken Sinhala even with UTF-8?
Some older Android devices use system fonts that lack full Sinhala Unicode support. Download a third-party player like MX Player or VLC for Android, which includes their own font rendering engine.
What's the difference between SRT and VTT for Sinhala subtitles?
Both support Sinhala Unicode equally well. SRT is more universally supported by hardware players, while VTT is required for HTML5 web embedding. SriSubs can convert between formats instantly.
Can I fix broken Sinhala text in an existing subtitle file?
Yes. If you have a subtitle file with corrupted Sinhala (e.g., missing පිල්ලම්), follow our guide to fixing broken Sinhala characters or manually edit in a UTF-8 text editor and replace the characters.
Do I need to install Sinhala fonts on my computer?
Most modern operating systems (Windows 10+, macOS, Android) include basic Sinhala support. However, for the best experience, installing Noto Sans Sinhala or Iskoola Pota will ensure consistent rendering across all applications.
Summary Checklist
- Always ensure your subtitle files are saved in UTF-8 encoding
- Keep subtitle files in the same directory as the video with matching names
- Select a Unicode font like Noto Sans Sinhala or Iskoola Pota in your player preferences
- For Smart TVs, prefer SRT format and exact filename matching
- Test on multiple devices to ensure consistent rendering
For deeper timing principles, see our guide on how to sync out-of-sync Sinhala subtitles.
Explore our full guides archive for more subtitle formatting and encoding resources.

