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:
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:
- Open Settings β Personalization β Topics.
- Go to the Font tab (may be called Fonts in English firmware).
- Choose your favorite option from the list (for example, Mi Sans SemiBold or Noto Sans CJK).
- 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:
- Download ZFont 3 from Google Play.
- Download your favorite font in.ttf or.otf format (for example, from DaFont or Fontsquirrel sites).
- Open ZFont, press + and select the downloaded file.
- 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:
| Model | MIUI 12 | MIUI 13 | MIUI 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:
- Unlock the bootloader through the Mi Unlock Tool (instructions on the official website).
- Install TWRP for your model (for example, the Redmi Note 12 Pro+ version from OrangeFox will suit).
- Download the archive with fonts in.zip format (for example, with XDA Developers).
- Reboot to TWRP, select Install and specify the path to the archive.
- 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?
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:
- Connect your smartphone to your PC and confirm the debugging permission.
- Open the command line in the ADB folder and execute: Adb devices (you should display your device).
- 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-verityAfter 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:
- Download the module in.zip format (for example, with XDA).
- Open Magisk Manager, go to Modules β Install from storage.
- Select the downloaded file and confirm the installation.
- 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 squares | The 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 Libraries | Clear the app cache or return the standard font |
| After rebooting, the font is reset | /system/fonts folder is mounted as read-only | Use the command mount -o rw, remount /system before copying |
| Slow scrolling in Chrome | Too 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:
- Remove the installed fonts via ZFont or TWRP.
- Follow the command in ADB: adb shell pm clear com.android.themes
- Reset the device.