Blog · Fonts and encoding

Fix Hindi Text Showing as Boxes, Question Marks or Broken Letters

By Piyush · Published · Steps last checked October 2026

Boxes mean the app has no font with Hindi letters – choose a Unicode Hindi font such as Mangal, Nirmala UI or Noto Sans Devanagari. English letters like “Hkkjr” mean the text was typed in KrutiDev – convert it to Unicode. Letters in the wrong order or loose matras mean the program cannot shape Hindi – turn on complex script support.

1. Boxes (□□□) or empty squares

The text is fine, but the font cannot draw Devanagari. Select the text and change the font to Mangal or Nirmala UI (Windows), Kohinoor Devanagari (Mac) or Noto Sans Devanagari (free from Google Fonts). On very old phones, a system update adds the fonts.

2. Question marks (???)

The Hindi letters were lost when the text was saved in a format that cannot store them – for example a .txt file saved as “ANSI”, or a database or CSV export not set to UTF-8. Go back to the original and save it as UTF-8. Changing the font will not help, because the letters are gone.

3. English letters such as “Hkkjr” or “fgUnh”

The text was typed with an old non-Unicode font such as KrutiDev or DevLys. Paste it into the KrutiDev to Unicode converter. Read more in KrutiDev to Unicode explained.

4. Matras in the wrong place or half letters not joining

The letters are correct, but the program does not apply Hindi shaping rules, so ि appears after its letter and conjuncts fall apart.

  • Adobe Photoshop and Illustrator: switch on the text engine for South Asian scripts under Preferences → Type (called “Middle Eastern and South Asian” or “World-Ready Layout”, depending on the version), then create a new text layer. Recent versions with the unified text engine shape Hindi without any change – updating is often the simplest fix.
  • Older programs and games that do not support complex scripts: type the text in another program and paste it as an image, or use a newer version.
  • Web pages: make sure the page declares <meta charset="UTF-8"> and uses a font with Devanagari.

Prevent it next time

Type in Unicode – with the online Hindi keyboard or the Hindi keyboard built into your computer – and save files as UTF-8.

Frequently asked questions

Which free font supports Hindi?

Noto Sans Devanagari and Noto Serif Devanagari from Google Fonts are free and cover all Hindi letters. Windows includes Nirmala UI and Mangal.

Why does Hindi look fine on my phone but not in my program?

The phone has Hindi fonts and shaping; the program may not. Change the font or turn on complex script support in that program.