Why Hindi Subtitles Show Boxes or Broken Characters
Hindi captions that look correct in one app can turn into empty squares, separated vowel marks, or question symbols in another. The visible symptom is similar, but the cause can be the font, file decoding, text normalization, shaping support, or the final render environment. A reliable fix starts by finding which layer is failing.
By CapsAI · Updated 19 August 2026

Key takeaways
- Boxes usually indicate missing glyphs, not a translation problem.
- UTF-8 protects text interchange but does not embed a Devanagari font.
- Test the final rendered video, not only the subtitle editor preview.
First identify where the Hindi breaks
Open the same subtitle line in a modern browser, a plain-text editor that supports Unicode, the target video editor, and the exported video. If the text is already damaged in the plain-text editor, the source file or decoding step is likely responsible. If it is correct there but becomes boxes only in the editor, the selected font probably lacks Devanagari glyphs.
A final export can fail even when the editing canvas looks right. Some renderers use a different machine, font set, or text engine. Record the exact stage where the first visible change occurs; that evidence prevents repeated re-encoding of text that was never the problem.
- Broken in every app: inspect the source encoding.
- Broken in one editor only: inspect the selected font and text engine.
- Broken only after render: inspect the export environment and font availability.
Understand boxes, replacement characters, and split matras
An empty square or tofu box usually means the font cannot draw a character. The diamond-shaped replacement symbol with a question mark means a decoder could not interpret one or more source bytes. These are different failures: changing the font can fix missing glyphs, but it cannot reconstruct bytes that have already been replaced.
Devanagari combines consonants, vowel signs and marks through script shaping. If matras float in the wrong place or conjuncts separate, the text may still contain valid Unicode characters while the rendering engine lacks proper shaping support. Use a modern Unicode-aware browser or editor as a control sample.
Start with 3 free minutes
Working with Hindi subtitles?
Generate and edit Hindi subtitles directly with CapsAI, then apply the checks from this guide.
Use a UTF-8 and Unicode-safe workflow
Export SRT or VTT as UTF-8, then reopen the saved file before importing it anywhere else. Do not repeatedly pass captions through older spreadsheet software or tools that silently choose a local legacy encoding. Keep an untouched source copy so a failed import does not become the new master.
Unicode normalization can also matter when text has been assembled from several sources. NFC normalization creates a consistent representation without transliterating Hindi or changing the intended words. CapsAI's Hindi Unicode fixer can remove a small set of invisible formatting artifacts and report obvious replacement characters, but it cannot restore characters that were permanently lost earlier.
- Keep the original Unicode text as the master.
- Export subtitle files as UTF-8.
- Normalize cautiously; never use random search-and-replace on matras.
- Reopen and inspect the file before rendering.
Choose and verify a Devanagari-capable font
Select a font family that explicitly includes Devanagari, then test common conjuncts, numerals, punctuation, English brand names, and the exact words used in the video. A Latin-only font may display English correctly while every Hindi character becomes a box.
When captions are burned into video on a server, ensure that the same approved font is available in that environment and licensed for the intended use. Finally, watch the export on at least one Android device, one iPhone, and a desktop display at normal playback size.
Frequently asked questions
Why do Hindi subtitles show squares in my video editor?
The selected font often lacks Devanagari glyphs, although damaged decoding can produce a similar symptom. Compare the source text in a Unicode-capable app first.
Will saving the SRT as UTF-8 fix every Hindi font issue?
No. UTF-8 preserves the text, but the renderer still needs a Devanagari-capable font and shaping support.
Can broken replacement characters be recovered automatically?
Usually not from the damaged text alone. Return to the original source and export it correctly again.
Start with 3 free minutes
Create Your Next Subtitle with CapsAI
Upload a video and generate editable AI subtitles with 3 free minutes to get started.
Continue the workflow