How to install a new font on your Xiaomi smartphone: 5 working ways

Standard fonts in MIUI It's often criticized for lacking originality or readability, especially on Redmi Notes. 12, POCO X5 Xiaomi 13, where a system Roboto or Mi Sans can seem boring after years of use. Fortunately, the manufacturer leaves users with customization options, from simple modifications through Themes to deep installation. TTF/OTF-file ADB or TWRP.

But here’s the catch: not all methods are equally safe. For example, replacing fonts with Magisk on unsupported versions of MIUI 14 can lead to system applications being rendered inoperable (up to the point of not being able to type text into the Google Play Store). In this article, we’ll look at 5 proven methods, from the simplest (via the ZFont app) to the most advanced (manual editing /system/fonts), taking into account the features of the latest HyperOS and MIUI Global/China updates.

Before you start, make sure your smartphone doesn’t belong to the list of exceptions:

πŸ“Š What Xiaomi model do you use?
Redmi Note 10/11/12
POCO F/X/M
Xiaomi 12/13/14
Black Shark
Another model

1. Method through the application "Themes" (without ROOT)

The safest and most official method is to use the built-in Themes app, which is suitable for all devices on MIUI 12 and later, including HyperOS, but has a limitation: the choice of fonts is limited to the Xiaomi collection.

To change the font:

  1. Open Settings β†’ Personalization β†’ Topics.
  2. Go to the Font tab (may be called Fonts in English firmware).
  3. Choose your favorite option from the list (for example, Mi Sans SemiBold or Noto Sans CJK).
  4. Click Apply and confirm the change.

⚠️ Note: On some firmware (for example, MIUI EU) After changing the font, the display of characters in WhatsApp or Telegram may be lost.

Advantages of the method:

  • πŸ”„ Does not require superuser rights or unlock the bootloader.
  • πŸ›‘οΈ Safe for warranty and does not affect OTA-update.
  • ⚑ Quick application (takes less than 30 seconds).

Disadvantages:

  • 🚫 Limited choice of fonts (about 20 options).
  • πŸ” There is no way to download custom.ttf/.otf.

πŸ’‘

The method through the β€œThemes” is the only official method that does not void the Xiaomi warranty.

2. Install fonts via ZFont (without ROOT)

The ZFont 3 app allows you to install custom fonts without obtaining root rights, but with one condition: your device must support Overlays (theme overlay technology), which works on most Xiaomi smartphones with MIUI 11 and later, including the POCO F4 and Redmi K50.

Instructions:

  1. Download ZFont 3 from Google Play.
  2. Download your favorite font in.ttf or.otf format (for example, from DaFont or Fontsquirrel sites).
  3. Open ZFont, press + and select the downloaded file.
  4. Confirm the installation and restart the device.

⚠️ Note: On some firmware (for example, MIUI China Stable) ZFont may not work due to Xiaomi's restrictions on modifying system files. In this case, try the alternative - iFont.

Compatibility with models:

ModelMIUI 12MIUI 13MIUI 14/HyperOS
Redmi Note 10/11βœ… Yes.βœ… Yes.βœ… Yes.
POCO X3/X4βœ… Yes.βœ… Yes.⚠️ Partially*
Xiaomi 12/13 Pro❌ No.βœ… Yes.βœ… Yes.
Black Shark 5❌ No.⚠️ Partially*βœ… Yes.

* Additional adjustments are required in ADB.

Before installation, check:

Downloaded font in.ttf or.otf format

The device is charged at least 50%

Developer Mode Enabled (Settings β†’ About Phone β†’ MIUI Version β†’ 7 Taps)

Power saving settings for ZFont are disabled (Settings) β†’ Battery β†’ Optimizing the battery)-->

3. Manual font replacement via TWRP (ROOT required)

For advanced users willing to sacrifice the warranty for the sake of complete control, the method of replacing fonts through custom recovery (TWRP) is suitable. This method allows you to install any typeface, including modified versions of SF Pro (like on iPhone) or Google Sans.

⚠️ Warning: Incorrectly replacing system fonts can lead to bootloop ( looped boot). /system into TWRP!

Step-by-step:

  1. Unlock the bootloader through the Mi Unlock Tool (instructions on the official website).
  2. Install TWRP for your model (for example, the Redmi Note 12 Pro+ version from OrangeFox will suit).
  3. Download the archive with fonts in.zip format (for example, with XDA Developers).
  4. Reboot to TWRP, select Install and specify the path to the archive.
  5. After installation, run Wipe Dalvik/Cache and restart.

Examples of compatible archives:

  • πŸ“± MiUIFont_GoogleSans.zip β€” Google’s font improves readability.
  • 🎨 SF_Pro_iOS15.zip β€” Imitation of the font of the iPhone (requires a patch for Cyrillic alphabet).
  • πŸ–‹οΈ Roboto_Mono.zip β€” mono-wire.

If after rebooting the text is displayed in hieroglyphics:

⚠️ Warning: This means the font does not support Cyrillic. Install an additional patch FontFix_RU.zip Choose a font that supports Cyrillic Extended.

How to check for Cyrillic support in the font?
Open the.ttf file on your PC through FontForge or Transfonter. The font properties must specify the cyrl block (Cyrillic).

4. Installation via ADB (no ROOT but with debugging)

The method via Android Debug Bridge (ADB) is suitable for non-root devices, but requires the developer mode and PC connection to be enabled.It runs on MIUI 13/14 and HyperOS, but may require additional commands to bypass Xiaomi's restrictions.

What you need:

  • πŸ–₯️ Computer with installed ADB Tools.
  • πŸ“± Included debugging by USB (Settings β†’ The phone. β†’ Version. MIUI β†’ 7 taps β†’ For developers β†’ Debugging by USB).
  • πŸ“ Font in.ttf format, renamed MiSans-Regular.ttf (to replace the standard one).

Instructions:

  1. Connect your smartphone to your PC and confirm the debugging permission.
  2. Open the command line in the ADB folder and execute: Adb devices (you should display your device).
  3. Copy the font to the system folder: adb push MiSans-Regular.ttf /sdcard/ adb shell su mount -o rw,remount /system cp /sdcard/MiSans-Regular.ttf /system/fonts/ chmod 644 /system/fonts/MiSans-Regular.ttf reboot

⚠️ Attention: MIUI 14 and HyperOS folder /system dm-verity can be protected, and in this case, you will need to temporarily disable the check through the command:

adb shell


su




disable-verity

After the reboot, check the change in font to Settings β†’ Screen. If the font does not apply, try clearing the cache of the Android System WebView app.

πŸ’‘

To return the standard font, download the original MiSans-Regular.ttf from AndroidFileHost and repeat the procedure.

5. Use of Magisk modules (for firmware with ROOT)

If your Xiaomi already has root access through Magisk, the most flexible way is to install customized modules, which not only allows you to change the fonts, but also adjust their boldness, letter spacing and even animation.

Popular modules:

  • πŸ”€ FontManager – font manager with support for more than 1000 variants.
  • 🎯 MiUI Font Replacer – Optimized for the MIUI/HyperOS.
  • πŸ–ΌοΈ TypeFace – allows you to combine multiple fonts.

How to determine:

  1. Download the module in.zip format (for example, with XDA).
  2. Open Magisk Manager, go to Modules β†’ Install from storage.
  3. Select the downloaded file and confirm the installation.
  4. Reset the device.

⚠️ Note: Some modules (e.g. iOS Fonts for) MIUI) They may conflict with Google Services, causing errors in YouTube or Chrome. XDA.

Example of FontManager configuration:

1. Install the module via Magisk.


2.Reboot.




3. Open the FontManager app.




4. Select a font (e.g. Product Sans).




5. Apply the changes and reboot again.

πŸ’‘

Magisk modules are the only way to dynamically change fonts without having to re-flash the firmware, but they require regular updates to be compatible with newer versions of MIUI.

Problems after font installation and their solutions

Even when installed correctly, custom fonts can cause failures, and here are the most common problems and ways to fix them:

Problem.Reason.Decision
Text is displayed in squaresThe font does not support Cyrillic.Install the patch. FontFix_RU.zip or choose a font from Cyrillic
Apps are crashing (such as WhatsApp)Conflict with System LibrariesClear the app cache or return the standard font
After rebooting, the font is reset/system/fonts folder is mounted as read-onlyUse the command mount -o rw, remount /system before copying
Slow scrolling in ChromeToo heavy font (e.g. SF Pro)Choose a lighter font (e.g. Noto Sans)

If none of the methods worked, try resetting the font settings to the standard:

  1. Remove the installed fonts via ZFont or TWRP.
  2. Follow the command in ADB: adb shell pm clear com.android.themes
  3. Reset the device.

FAQ: Frequent questions about changing fonts to Xiaomi

Can I install a font without ROOT on Xiaomi 13 Ultra?
Yes, but with limitations. On Xiaomi 13 Ultra with HyperOS work: Method through Themes (official fonts). App ZFont 3 (requires on debugging over USB). ADB and TWRP will require unlocking the bootloader, which voids the warranty.
Why do you see characters on WhatsApp after you install the font?
This means that the font chosen does not support Unicode characters or emoji Solutions: Install a font that supports Cyrillic Extended and Emoji (e.g. Noto Sans CJK). Use the Emoji Replacer module in Magisk for a separate replacement of emojis.
How to return a standard font after a failed installation?
Recovery: Through TWRP: run the original fonts.zip for your model. Through ADB: adb shell su rm /system/fonts/MiSans-Regular.ttf reboot Through Magisk: remove the installed font modules. If the device doesn't boot, reset via Fastboot: fastboot erase userdata
Which typefaces are best suited for AMOLED-Xiaomi screens?
For AMOLED-displays (Redmi) K60, Xiaomi 13 Pro is recommended fonts with: πŸ”Ή Thin lines (like Google Sans) to reduce power consumption. πŸ”Ή High contrast (e.g., Inter) UI) legible. πŸ”Ή Dark theme support (e.g. Roboto Flex) Avoid bold serif fonts (e.g. Times New Roman) that increase battery load.
Will the custom font work after the MIUI update?
Depends on the installation method: βœ… Official fonts (via Topics) – will be retained. ⚠️ ZFont/iFont β€” It may be reset if the update is rewritten. /system/overlay. ❌ Manual replacement through TWRP/ADB β€” It almost always resets. You'll need to do it again after the update. To minimize the risks, back up the folder before you update. /system/fonts.