Xiaomi custom theme builder: a complete guide with nuances for MIUI 14/15

Creating your own Xiaomi theme is a way to stand out from the millions of MIUI users who are content with standard designs. Custom themes allow you to change not only wallpaper and icons, but also animations, fonts, system notification sounds, and the interface of embedded applications. However, the process of building a theme often scares beginners: you need to understand the structure of MIUI files, find compatible resources and avoid errors that can lead to system failures.

In this article, we will look at the whole process from A to Z, from tool preparation to uploading a finished theme to the Xiaomi Theme Store. Particular attention will be paid to the new requirements of MIUI 15 for theme packages (the mandatory APK signature and file size restrictions), as well as the typical problems that developers face when testing on Redmi Note 12, POCO F5 and Xiaomi 13 devices. If you have never done an interface modification, but want to try – this guide will help avoid common errors and save hours of finding solutions.

1. What you need to build a theme: tools and requirements

Before you start creating a theme, make sure you have everything you need.

  • πŸ“± Xiaomi smartphone on the MIUI 12 or later (for testing) on devices with MIUI 11 and below may have problems with compatibility of new formats of theme.
  • πŸ’» Windows computer 10/11 or macOS (for assembly) APK). Linux is partially supported, but additional libraries may be required.
  • πŸ“‚ MIUI Theme Editor is the official software from Xiaomi for editing themes (you can download on the official website β€” MT Manager for manual file editing.
  • πŸ”§ Java JDK 8 or 11 – required for compilation APK. New versions JDK (17+) They can cause errors in assembly.
  • 🎨 Graphic editors: Adobe Photoshop (for icons), Figma or GIMP (wallpaper).

You will also need a developer account at Xiaomi Theme Store, which can be created for free, but you will need verification to publish themes (can take up to 3 days). Note: since 2023, Xiaomi has tightened the rules – now all topics must be moderated to comply with the rules of content, including a ban on the use of brand logos without permission.

πŸ“Š What tool do you plan to use to create a theme?
MIUI Theme Editor
MT Manager
Manual editor (Notepad++)
Other

2. MIUI Theme Structure: Which Files and Folders Are Required

The MIUI theme is an archive with an extension of.mtz (older versions) or.apk (newer versions), and it has to have a clear folder structure inside it, otherwise the system won't recognize the topic.

miui/


β”œβ”€β”€ description.xml # Metadata topics (title, version, author)




β”œβ”€β”€ preview/ # Store Preview (5-7 screenshots)




β”‚   β”œβ”€β”€ preview1.jpg




β”‚   └── preview2.jpg




β”œβ”€β”€ wallpaper/ # Wallpaper (resolution at least 1080Γ—1920)




β”œβ”€β”€ icon/ # Icons (format PNG, size 192Γ—192




β”œβ”€β”€ lockscreen/ # Lock screen elements




β”œβ”€β”€ font/ # Fonts (TTF or OTF)




└── animation/ # Animations (format GIF or Lottie JSON)

Critical files without which the topic will not load:

  • πŸ“„ description.xml β€” contains the name of the topic, version MIUI, the author's identifier for which it is intended, and the author's identifier:
<theme>


<name>MyCustomTheme</name>




<author>YourName</author>




<version>1.0</version>




<targetMiuiVersion>15</targetMiuiVersion>




<packageName>com.example.mycustomtheme</packageName>




</theme>

If you miss the targetMiuiVersion field or provide the wrong version, the theme will either not install or will malfunction. For example, the themes for MIUI 14 may not display correctly on MIUI 15 due to changes in the structure of system applications.

πŸ’‘

Use the APKTool tool to decompile ready-made themes from the store – this will help you understand how popular solutions work.

3. Step-by-step instruction: create a theme from scratch

Consider the process of creating a simple theme with modified icons and wallpapers, and complex themes (with animations or custom fonts) require additional steps.

Step 1: Resource preparation

Collect all the necessary files:

  • πŸ–ΌοΈ Wallpaper (permission not less than 1080Γ—2340 modern-day smartphones).
  • πŸ“± Icons (size) 192Γ—192 px, format PNG For convenience, use the templates from Flaticon.
  • 🎬 Animations (if needed) in format GIF or Lottie JSON.

Step 2: Editing in MIUI Theme Editor

1. Open MIUI Theme Editor and create a new project.

2. Import the prepared resources to the appropriate folders (wallpaper, icon, etc.).

3. Edit description.xml – specify the title of the topic, version and target MIUI.

4. Save the project in.mtz (for testing) or.apk (for publishing).

The icons are 192Γ—192 px| in size.

Wallpaper optimized for screen resolution |

File. description.xml well-filled|

Theme tested on the target version MIUI-->

Step 3: Testing on the device

Transfer the.mtz file to your smartphone and install it through the Themes app (Settings β†’ Display β†’ Themes β†’ Local).

  • πŸ” Correctness of the display of icons (whether there are croppings or distortions).
  • 🎨 Color schemes in the system menu (settings, notifications).
  • πŸ”„ The work of animations (if any).
What to do if the topic is not applied?
If the theme is not activated after installation, check: 1. MIUI version compatibility (description.xml should specify the targetMiuiVersion corresponding to your firmware). 2..mtz archive integrity (unpack it manually and make sure all files are in place). 3. Presence of permissions to install themes from unknown sources (Settings β†’ Additional β†’ Install unknown applications). If the problem persists, try to reassemble the the the theme with other resources or use MT Manager for manual editing.

4.Typical mistakes and how to avoid them

Even experienced developers have problems with building themes, and here are the most common mistakes and solutions:

Mistake.Reason.Decision
Theme is not setIncorrect folder structure or missing description.xmlCheck the archive for compliance with the basic structure
Icons are displayed blurrySize mismatch (should be exactly 192Γ—192 px)Reassemble icons in Photoshop with the right settings
Theme works, but it will crash after the MIUI updateNot specified targetMiuiVersion or it is outdatedUpdate the version in description.xml and reassemble the APK
Animations don't lose.Unsupported format (e.g. MP4 instead of GIF)Convert animations to GIF or Lottie JSON

Pay special attention to the signature APK. From 2026, Xiaomi requires all themes in the store to be digitally signed:

  1. Generate the key with the keytool:
  2. Sign up for APK with jarsigner:

πŸ’‘

Without an APK signature, the theme will not be moderated in the Xiaomi Theme Store, even if it works locally.

5.Publishing the theme in the Theme Store

Once the theme is ready and tested, it can be uploaded to the official store.

  1. Sign in to themes.xiaomi.com under your developer account.
  2. Go to the section Download the topic and fill out the form: πŸ“Œ Title (maximum) 20 symbolism). πŸ“ Description (up to) 200 symbols, can be in several languages). πŸ–ΌοΈ Preview (5-7 Screenshots showing key elements of the topic). πŸ”– Tags (select the appropriate ones: Minimalism, Dark Theme, Anime, etc.).

.apk

Send it to moderation. The test period is 1 to 3 days.

Once approved, the theme will be available to all MIUI users, and for each jump you will receive points that can be exchanged for prizes in Mi Credit.

⚠️ Note: Xiaomi is blocking themes that contain:

  • 🚫 Brand logos (Apple, Samsung, etc.) without permission.
  • 🚫 Content 18+ or provocative images.
  • 🚫 Elements that disrupt the system (e.g., changing system fonts without checking compatibility).

6. Optimizing theme for different Xiaomi models

The same theme may appear differently on the Xiaomi 13 Ultra and Redmi 10A due to differences in screen resolution and MIUI version.

  • πŸ“ Adaptive wallpaper: Use images with at least a resolution 1440Γ—3200 For flagships and optimize them for 720Γ—1600 budgetary.
  • 🎨 Icons: Check the display on high-pixel density screens (400)+ PPI). Nana POCO F4 GT Icons can look small, if you do not consider the scale.
  • πŸ”„ Animations: On 60Hz devices (like the Redmi Note 11), complex animations can slow down.

For devices with AMOLED-screens (e.g. Xiaomi) 12T Pro) it is recommended to add dark versions of wallpaper and icons to reduce battery consumption. description.xml You can also indicate support for the dark mode:

<theme>


...




<supportDarkMode>true</supportDarkMode>




<darkWallpaper>wallpaper/dark.jpg</darkWallpaper>




</theme>

πŸ’‘

To test on different devices, use emulators in Android Studio with Xiaomi profiles (available in AVD Manager).

7. Alternative means of disseminating topics

If your theme has not been moderated in the official store or you want to share it in a narrow circle, there are alternative options:

  • 🌐 Telegram channels: many communities are dedicated to custom topics for MIUI (for example, @MIUIThemes).
  • πŸ’Ύ Forums: XDA Developers, 4PDA or Mi Community (Section "Themes and Design").
  • πŸ“¦ Own site: You can upload a theme to GitHub or cloud storage with installation instructions.

When distributing via third-party sources, consider:

⚠️ Note: Users must manually allow installation of topics from unknown sources (Settings) β†’ Annexes β†’ Installation of unknown applications β†’ Without it, the system will block the installation of.mtz or.apk.

FAQ: Frequent questions about assembling themes

Can I create a theme without MIUI Theme Editor?
Yes, but that would require manual file editing, such as: Download any theme from the store and unpack it (rename.mtz to.zip), replace the resources (icons, wallpaper) with your files, repackage the archive back to.mtz and install it on your phone, and any archiver (WinRAR, 7-Zip) or MT Manager on Android will do that.
Why does my theme work on Xiaomi 12 but not on the Redmi Note 11?
The problem is probably in the MIUI version. Check: The firmware version on both devices (Settings β†’ About Phone β†’ MIUI version). The targetMiuiVersion field in description.xml should be no higher than the MIUI version on the Redmi Note 11. There is a modified firmware (e.g. xiaomi.eu or PixelExperience).
How to add your fonts to the topic?
To add custom fonts: Place.ttf or.otf files in the font/ folder. Specify font paths in description.xml: <theme>... <font> <name>MyCustomFont</name> <path>font/myfont.ttf</path> </font> </theme> Please note: on some devices (e.g. POCO X5) custom fonts may not apply to system applications due to MIUI limitations.
How much can you earn on Xiaomi themes?
Xiaomi doesn’t pay directly for themes, but offers a bonus system: πŸͺ™ Mi Credit: For every 1,000 races you get 100 points that can be exchanged for discounts in the Mi Store. πŸ† Contests: Xiaomi regularly holds competitions among the developers of themes with a prize fund (for example, smartphones or accessories). πŸ’° Third-party donations: You can link to Boosty or Patreon in the topic description (but without direct advertising). $500 per month, but you need to regularly release high-quality topics and promote them in social networks.
Can I port themes from other firmware (EMUI, ColorOS) to MIUI?
Technically yes, but it requires a lot of processing: πŸ”§ Structure of topics in EMUI (Huawei and ColorOS (Oppo) are fundamentally different from the MIUI. πŸ“‚ You need to manually transfer resources (icons, wallpaper) and adapt them to the requirements MIUI. 🚫 Animations and system styles are likely to be unstoppable, but will have to be recreated. It’s much easier to take a pre-made theme from Xiaomi and modify it.