How to change the download animation on Xiaomi Redmi 9: 3 proven ways

Xiaomi Redmi 9 is one of the most popular budget smartphones, but its standard boot animation with a logo MIUI Whether you want to install a stylish custom bootloader, Android 14 animation, or even your own image, in this article you will find all the current ways to replace boot graphics without the risk of β€œbricking” the device.

The process requires attention to detail, from unlocking the bootloader to editing system partitions, we will examine the formal and informal methods, their pros and cons, and give recommendations for backup. If you are a beginner, start with the first method (via the first method). MIUI Themes, experienced users can immediately switch to manual firmware via fastboot.

Why Standard Download Animation Can Be Irritating

The boot animation on Redmi 9 (codenamed Lancelot) consists of two parts:

  • πŸ”Ή Static logo – appears immediately after inclusion (file) logo.bin in the aboot section)
  • πŸ”„ Dynamic animation – starts after initialization of the kernel (files in the /system/media/bootanimation.zip)

Problems of standard animation:

⚠️ Attention: On Redmi models 9 firmware MIUI 12.5+ Standard animation can "hang" on 5-10 It's not a defect, it's a feature of dm-verity.

Many users complain about:

  • 🐒 Slowly scrolling animations after updates
  • 🎨 Inconsistency with the style of custom themes
  • πŸ”„ Monotony – the same picture for several years
  • πŸ“± Incompatibility with AOD (Always on Display on some of the firmware

Fortunately, Xiaomi provides several legal ways to change the boot graphics, and the development community offers dozens of custom solutions – from minimalist logos to full-fledged animation videos.

πŸ“Š How often do you check out your Xiaomi?
Once a year.
Only with critical updates
Never stitched.
I'll try custom firmware.

Method 1: Replacement by MIUI Themes (without root)

The safest method that doesn't require unlocking the bootloader or superuser rights. MIUI 11-14.

Algorithm of action:

  1. Download a custom animation theme from the official theme store (see #bootanimation or #logo tags).
  2. Install the theme through the Topics app (Settings) β†’ Display β†’ Themes).
  3. Restart the device – the new animation will apply automatically.

Limitations of the method:

  • ❌ It only works with topics that support bootanimation.zip
  • ❌ Not all custom themes are correctly displayed on Redmi 9 due to screen resolutions
  • ❌ Logo. MIUI when included will remain unchanged

Make a backup of the current theme|Check the compatibility of the topic with MIUI 12.5+|Clear the cache of the β€œThemes” annex"|Restart the phone after use-->

If the animation has not changed after the topic is applied:

⚠️ Note: On some versions MIUI Redmi 9 requires you to further clear the cache of system media files. β†’ Annexes β†’ Application management β†’ Systemic β†’ Media storage β†’ Warehouse β†’ Clear the cache.

ParameterMIUI ThemesCustom recoveryFastboot
Requires unlocking of the loader❌ No.βœ… Yes.βœ… Yes.
We need root rights.❌ No.βœ… Yes.❌ No.
Changes the logo when switched on❌ No.βœ… Yes.βœ… Yes.
Risk of "bricking"❌ No.⚠️ Medium.⚠️ High-pitched

Method 2: Manual editing bootanimation.zip (root)

For power users who are ready to root, this method allows you to install any animation, including one created by yourself.

Requirements:

  • πŸ“± Unlocked loader
  • πŸ”“ Installed by Magisk or other root manager
  • πŸ–₯️ PC ADB and Fastboot
  • πŸ“ Backup copy of section /system

Step-by-step:

  1. Download the archive with animation in format bootanimation.zip (The resolution must be in line with the Redmi screen. 9 β€” 720Γ—1600).
  2. Connect your phone to your PC and do: Adb push bootanimation.zip /sdcard/ adb shell su mount -o rw,remount /system cp /sdcard/bootanimation.zip /system/media/ chmod 644 /system/media/bootanimation.zip reboot

If no animation is applied:

  • Check the file rights (644)
  • Make sure the file is named exactly. bootanimation.zip (symbolless)
  • Clear the cache through TWRP Or OrangeFox.

πŸ’‘

To create your animation, use the program BootAnimation Factory (Android) or After Effects with the BootAnimation Creator plugin. FPS for smoothness - 30 frames/sec.

Compatibility warning:

⚠️ Attention: On firmware MIUI 13+ for Redmi 9 file bootanimation.zip This can be ignored by the system due to the dm-verity policy, in which case you need to disable the check through the Magisk module. Disable_Dm-Verity_ForceEncrypt.

Method 3: Firmware custom logo through fastboot

The most radical method to change the logo when you turn on (first screen) requires an unlocked bootloader and knowledge of fastboot commands.

Files required:

  • πŸ“„ logo.bin β€” custom logo (can be created through Logo Maker)
  • πŸ“„ fastboot from Platform Tools (version no lower than 31.0.3)
  • πŸ“„ Backup copy of the original logo.bin (Fastboot Flash Logo Team logo_original.bin)

Instructions:

  1. Transfer the phone to fastboot mode (Hardware keys: Power) + Vol Down).
  2. Logo: Fastboot Flash Logo custom_logo.bin fastboot reboot

Critical nuances:

  • πŸ”΄ Size logo.bin should be no more 2 MB, otherwise the loader will ignore it
  • πŸ”΄ Color palette β€” RGB565 (16 bits), otherwise the logo will appear with artifacts
  • πŸ”΄ On some versions MIUI need additional firmware splash.img
What if the phone does not turn on after the logo is firmware?
If after the command fastboot flash logo device hangs on the black screen: 1. Connect your phone to your PC and check if it is detected in fastboot devices 2. Stitch the original logo.bin backwards 3. If it doesn’t work, run a full fastboot. ROM via Mi Flash Tool 4. As a last resort, use it. EDL-Mode (requires an authorized Xiaomi account)

How to Create Your Own Download Animation for Redmi 9

If you don't like the solutions, you can create a unique animation.

  • 🎨 Graphic Editor (Photoshop, GIMP, Krita)
  • 🎬 Animation Program (After Effects, Blender, Synfig Studio)
  • πŸ“± The Resources for BootAnimation Factory)

Technical requirements for animation:

ParameterMeaning for Redmi 9
Permission720Γ—1600 (portrait orientation)
FormatPNG-24 or PNG-8 (alpha-free)
FPS24-30 staff/sec (optimum) 24 smoothly)
Max. Archive size.5 MB (for) bootanimation.zip)
Structure of the archiveFolders. part0, part1 desc.txt

Example of desc.txt file for animation:

720 1600 24


p 1 0 part0




p 0 0 part1

Where:

  • 720 1600 – Screen resolution
  • 24 β€” FPS
  • p 1 0 part0 β€” First part of the animation (cyclical)
  • p 0 0 part1 β€” second part (single-time)

πŸ’‘

To test animations before firmware, use the Android Studio emulator or the Boot Animation Preview app from Google Play. This will help avoid errors with resolution and frame rate.

Frequent mistakes and their solutions

Even if you follow the instructions, you can have problems.

1.The animation does not change after the file is replaced

  • πŸ”Ή Check the file access permissions (chmod 644)
  • πŸ”Ή Clear the cache through TWRP or the adb shell rm command -rf /cache/*
  • πŸ”Ή Make sure the file is named exactly. bootanimation.zip (register!)

2.The phone hangs on the logo after firmware

  • πŸ”Ή Try to download to fastboot and flash the original logo.bin
  • πŸ”Ή If it doesn’t work, reset via the Mi Flash Tool with the clean all option.
  • πŸ”Ή Check the integrity of the file being submitted (MD5-hash)

3.Animation displayed with artifacts

  • πŸ”Ή Make sure the color palette is β€” RGB565
  • πŸ”Ή Check the staffing permit (should be) 720Γ—1600)
  • πŸ”Ή Restore files PNG compressively

4.After the update MIUI animation dropped

This is standard behavior.

  • πŸ”Ή Repeat the replacement procedure after the update
  • πŸ”Ή Use the Magisk BootAnimation Changer module to auto-recover
  • πŸ”Ή Reverse to the previous version of the firmware through fastboot

How to avoid β€œbricking” Redmi 9

Any manipulation of boot partitions carries risks.

1.Always do a backup.

  • πŸ”Ή Keep the originals. logo.bin and bootanimation.zip
  • πŸ”Ή Create a full backup through TWRP Or OrangeFox.
  • πŸ”Ή Export the list of installed applications (adb shell pm list packages)

2. Check the files before firmware

  • πŸ”Ή Check it out. MD5-hashes of downloaded files
  • πŸ”Ή Use only files intended for lancelot (Redmi 9)
  • πŸ”Ή Do not flash files from other models (Redmi Note 9, POCO M2 etc.)

3. Watch the battery charge

⚠️ Note: If the battery is below 50%, the Redmi 9 may shut down while running through fastboot, causing damage to the aboot partition%+ beforehand.

4. Use official tools

  • πŸ”Ή To unlock the bootloader - only the official tool from Xiaomi
  • πŸ”Ή For firmware - Mi Flash Tool or fastboot from Platform Tools
  • πŸ”Ή Avoid β€œone-click” utilities from third-party developers

5.Know emergency exits

  • πŸ”Ή Fastboot mode: Power + Vol Down
  • πŸ”Ή Recovery: Power + Vol Up
  • πŸ”Ή EDL-Recovery mode: Requires a test point or an authorized account
Can I change the download animation without unlocking the bootloader?
Yes, but with serious limitations: πŸ”Ή Through MIUI Themes (Animation only, not logo) πŸ”Ή With help. ADB-commands (requires temporary root through exploits, such as DirtyCow) Complete logo replacement when enabled (logo.bin) Only possible with an unlocked loader.
Why did the animation change the phone to slow down?
Possible causes: πŸ”Ή It's too big. bootanimation.zip (optimally, up to 3 MB) πŸ”Ή High-resolution personnel (should be) 720Γ—1600) πŸ”Ή Conflict with Magisk modules (disable dm-verity) πŸ”Ή Damaged animation file (resave in another format) Solution: return the standard animation and check the performance. If the download speeded up, the problem is in the custom file.
How to return standard download animation?
Recovery Methods: Remove the Original logo.bin Fastboot: Fastboot Flash Logo logo_original.bin Remove the custom bootanimation.zip: adb shell su rm /system/media/bootanimation.zip reboot Reset the settings through TWRP (wipe β†’ Format Data: Sweep through the Mi Flash Tool (clean all option)
Does this work on the Redmi 9A/9C/9T?
Partial. Major differences: Model MIUI Themes Root Method: Fastboot Redmi 9 (Lancelot) βœ… Yes. βœ… Yes. βœ… Yes, Redmi. 9A (dandelion) βœ… Yes. ❌ No (closed loader) ⚠️ Only the Redmi logo 9C (angelica) βœ… Yes. βœ… Yes* (requires patch) βœ… Yes, Redmi. 9T (lime) βœ… Yes. βœ… Yes. βœ… Yes, for Redmi. 9C Additional patch is required for the lk section.
Can I install animations in the style of iPhone or Samsung?
Yeah, but with nuances: πŸ”Ή iPhone style: Use animation with black background and white logo (example: XDA Developers) πŸ”Ή Samsung-style: look for animations with the effect of β€œwaves” bootanimation.zip Transparent) Ready packs: πŸ”Ή MIUI Themes Channel (Telegram) πŸ”Ή πŸ“– Read also: Update of the robot vacuum cleaner Xiaomi: what is new in the firmware Full guide to update the robots Xiaomi. New features, bug fix, installation through Mi Home and Xiaomi Mi Play: How to Reflash the Device - Full Guide Detailed instructions for reflashing Xiaomi Mi Play via Fastboot and Recovery. FRP, Installation of pure Android on Redmi Note 9: step-by-step 2026 How to install stock firmware Android on Xiaomi Redmi Note 9 without MIUI: Unlocking the bootloader How to update Xiaomi Mi 8 Lite: full instruction Detailed guide to updating Xiaomi Mi 8 Lite. Discussion OTA, manual installation via Recovery and How to update Kinopoisk on Xiaomi TV: step-by-step instruction 2026 Kinopoisk does not work on Xiaomi TV? Learn how to update the app through the store, manually or reset Fastboot Mode on Xiaomi: what it is and how to exit Detailed guide to Fastboot Mode on Xiaomi. πŸ“± XiaoMaster πŸ”“ Reset and release Β· βš™οΈ System setup Β· πŸ’Ύ Memory and files Β· πŸ”Š Sound and vibration Β· πŸ“Έ Camera and photo Β· πŸ“‘ Communication and network Home Β· About the project Β· Contacts Β· Privacy Β© XiaoMaster, all rights reserved. Accept document.getElementById('pbMenuBtn')?.addEventListener('click', () => { document.getElementById('pbMainNav')?.classList.toggle('pb-nav-open'); }); // Dropdown menu toggle (click for touch devices) document.querySelectorAll('.pb-dropdown-toggle').forEach(btn => { btn.addEventListener('click', (e) => { e.stopPropagation(); btn.closest('.pb-nav-dropdown').classList.toggle('pb-dd-open'); }); }); document.addEventListener('click', () => { document.querySelectorAll('.pb-nav-dropdown.pb-dd-open').forEach(d => d.classList.remove('pb-dd-open')); }); (function() { const popup = document.getElementById('cookie-consent'); const btn = document.getElementById('cookie-accept'); if (popup && btn &&!localStorage.getItem('cookie-accepted')) { setTimeout(() => popup.classList.add('pb-cookie-visible'), 1500); btn.onclick = () => { localStorage.setItem('cookie-accepted','true'); (function(d,s){d.getElementById("licnt06C4").src= "https://counter.yadro.ru/hit?t26.5;r"+escape(d.referrer)+ ((typeof(s)=="undefined")?"":";s"+s.width+"*"+s.height+"*"+ (s.colorDepth?s.colorDepth:s.pixelDepth))+";u"+escape(d.URL)+ ";h"+escape(d.title.substring(0,150))+";"+Math.random()})(document,screen) πŸͺ We use cookies to improve the operation of the website. popup.classList.remove('pb-cookie-visible'); }; } })(); function pbPollVote(el) { var poll = el.closest('.pb-poll'); if (poll.classList.contains('voted')) return; poll.classList.add('voted'); el.classList.add('selected'); var opts = poll.querySelectorAll('.pb-poll-option'); var n = opts.length; var raw = []; var sum = 0; for (var i = 0; i < n; i++) { var v = Math.random() * 50 + 5; if (opts[i] === el) v += 30; raw.push(v); sum += v; } var pcts = raw.map(function(v) { return Math.round(v / sum * 100); }); var diff = 100 - pcts.reduce(function(a,b){ return a+b; }, 0); pcts[Array.from(opts).indexOf(el)] += diff; setTimeout(function() { opts.forEach(function(opt, i) { opt.querySelector('.pb-poll-bar').style.width = pcts[i] + '%'; opt.querySelector('.pb-poll-pct').textContent = pcts[i] + '%'; }); }, 50); }