Pixel™ phone flashing GUI utility with features.
Python
2,324
506 commits
updated Oct 6, 2026
As the name suggests this is an application to flash (update) Pixel™ phones (possibly all Google™ made phones/tablets, YMMV.)
PixelFlasher at its core is a UI layer (with bells and whistles) on top of adb / fastboot commands, hence many of its features can be used on non Pixel devices as well. (YMMV).
The executable which can be found in releases section is self contained single file and does not require Python™ to be installed on the system.
The application has two modes, normal mode (basic) and advanced mode (expert).
Basic mode: Should suit most users. Some of the features in basic mode are:
boot.img / init_boot.img management UI, select the boot / init_boot file to patch and click the patch button.
Fully Automated patching with Magisk, Apatch, KernelSU, KernelSU-Next, SukiSU, Wild_KSU (without manual steps) and perform upgrades without losing root.boot.img, init_boot.img, vendor_boot.img
/data/adb/tricky_store/spoof_build_vars/data/adb/tricky_store/keybox.xml (Not the contents, just if the certificates are revoked or not)/data/adb/tricky_store/target.txt/data/adb/tricky_store/security_patch.txt/data/adb/tricky_store/tee_status/data/adb/modules/playintegrityfix/custom.pif.json/data/adb/modules/playintegrityfix/custom.pif.prop/data/adb/modules/playintegrityfix/custom.app_replace.list/data/adb/modules/playintegrityfix/scripts-only-mode/data/adb/modules/targetedfix/pif.json/data/adb/modules/playintegrityfix/pif.json/data/adb/pif.jsonExpert mode: (should only be turned on by experienced users). In addition to the basic features, you get:
boot / init_boot)boot (temporary stock or root).plugdev group.
Arch distro users, you might want to check this.PixelFlasher doesn't have to be installed, just double-click it and it'll start.
Check the releases section for downloads.
| File | Description |
|---|---|
| PixelFlasher.exe | Windows standalone x64 binary (recommended for Windows) |
| PixelFlasher-arm64.exe | Windows standalone arm64 binary (recommended for Windows arm64) |
| PixelFlasher_win_2019.exe | Built with Windows 2019, to be used on older Windows) |
| PixelFlasher_MacOS.dmg | Universal MacOS (11+) standalone executable (recommended for MacOS) |
| PixelFlasher_MacOS_legacy.dmg | x86_64 MacOS standalone executable (to be used on older MacOS devices) |
| PixelFlasher_Ubuntu_24_04 | Built on Ubuntu 24.04 Linux standalone x64 binary (recommended for Linux) |
| PixelFlasher_Ubuntu_22_04 | Built on Ubuntu 22.04 Linux standalone x64 binary |
Windows
macOS. Download the DMG or Install via Homebrew by a single command:
brew install badabing2005/pixelflasher/pixelflasher
Linux (See this if you're having issues with a Linux build.)
Scan the list of open issues for bugs and pending features.
Note
This is my first wxPython based project. I got ideas and inspiration from nodemcu-pyflasher.
If you have constructive feedback as for how to improve the code please do reach out to me.
If you want to build this application yourself you need to: Setup
python.org)pip3 install virtualenvvirtualenv --python <PATH_TO_PYTHON_EXE> venvpython3 -m venv venv.\venv\Scripts\activate. venv/bin/activatepip3 install -r requirements.txtA note on Linux: As described on the downloads section of wxPython, wheels for Linux are complicated and may require you to run something like this to install wxPython correctly:
# Assuming you are running it on Ubuntu 20.04 LTS with GTK3
pip install -U \
-f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-20.04 \
wxPython
If you're building on Fedora, take a look at this (Credit to @xChAmeLIoNz).
A note on Windows
If you run into troubles installing wxPython on Windows, you can download wxPython wheel file matching your version of Python™ from wxpython snapshot-builds
Look for cp310 if your python™ version is 3.10
You install it with pip, for example this would be the command to install 3.10 version.
pip install wxPython-4.1.2a1.dev5308+2258f215-cp310-cp310-win_amd64.whl
A Note on MacOS
Don't install Python™ on MacOS, instead
brew install wxpython, this will install Python™ 3.9.12, the installed wxPython will only work with this version of Python.
If python 3.9.12 is not in the system path, you can find it here:
/usr/local/Cellar/python@3.9/3.9.12/Frameworks/Python.framework/Versions/3.9/bin
It is advised that you add this to your system PATH
On MacOS, you should also install create-dmg
brew install node graphicsmagick imagemagick
npm install --global create-dmg
Build
Run build.bat on Windows or build.sh on Linux / MacOS.

next to it.Scan button to detect connected devices, the application will detect all connected devicesshell in Magisk.
next to it.
Note: Because both firmware package and full OTA are complete images, you can upgrade to any newer version without worrying about jumping versions (downgrades with factory image are possible only with wipe data).
⚠️ Do not rename the downloaded file or extract parts of it, just point to the downloaded zip. PixelFlasher does validations to ensure you don't accidentally flash the wrong image to your device.boot.img, init_boot.img vendor_boot.img, vbmeta.img from the image (if present in the image) and populate the boot list with an entry (5). This entry represent the stock boot / init_boot / vendor_boot.boot.img, init_boot.img, vendor_boot.img)
Your phone does not need to be rooted to create a patched file.
This would be the typical choice for monthly updates.shell.
Indicates that the selection is patched.root, app, uiautomator, manual)-w flag is removed from the flash scripts so that data is not wiped. This is commonly known as dirty flashing.
Flash Mode.To enable the export mode use the File Menu | Advanced Configuration and select Enable Advanced Options

In this mode the following additional options are exposed (green bounding boxes), below notes are more for enumeration than a guide, as they should be trivial and obvious to an expert.
boot.img (or init_boot.img for Pixel 7 or newer devices) from the ROM image and displays below for selection or patching.
Please make sure to read the documentation of the chosen ROM, as each custom ROM instructions could be different.Flash Mode just like a stock image, i.e. bootloader, custom ROM and radio images in the original order that they were in the stock firmware.boot.img (or init_boot.img for Pixel 7 or newer devices) can be performed if the option is selected. You can select any of the listed files.Flash to both slots option is selected, Pixelflasher flashes each slot individually to overcome a Google bug that fails with the option --slot=allPixelFlasher currently includes French and Spanish translations, which were created using online translation tools. While these translations are functional, they may contain inaccuracies or awkward phrasing.
If you'd like to help improve existing translations or add support for a new language:
locale\en\LC_MESSAGES\pixelflasher.po as your template for translation.Please note the following about translations in PixelFlasher:
Your help improving translations is greatly appreciated!
fr, used online translation (it could be imperfect)es, used online translation (it could be imperfect)zh-rTW, thanks to EdwardWuzh_CN, thanks to LittlenineEnneait, thanks to bandrea83Downgrade Patch and Cancel OTA Update.erofs-builder to build the EROFS extractor; see erofs-builder/ for the builder source and follow the upstream projects' licenses.If you need support or assistance, please first search Github issues and XDA Forums to see if it is already reported / resolved, if not, please generate and provide a support file from within PixelFlasher. You can hit that big Support button on the main screen, or select it from the Help menu. The generated support.zip file is encrypted and optionally sanitized (redacted) to keep your sensitive information (username device id ...) private.
********************************************************************************
PLEASE DO YOUR PART AND READ / SEARCH / RESEARCH BEFORE USING THIS PROGRAM
AND/OR ATTEMPTING ANY MODIFICATIONS ON YOUR DEVICE.
THIS PROGRAM ASSUMES THAT YOU ALREADY KNOW HOW TO AND HAVE ALREADY UNLOCKED
YOUR BOOTLOADER, ALREADY ROOTED YOUR DEVICE, AND KNOW HOW TO USE ANDROID SDK
PLATFORM-TOOLS, ETC.
THIS TOOL IS SIMPLY MY QUICK WAY OF UPDATING THE FIRMWARE WHILE ROOTED WITH
MAGISK, WITHOUT LOSING DATA / REQUIRING A WIPE.
MODIFYING YOUR DEVICE COMES WITH INHERENT RISKS, AND IT'S NOT MY RESPONSIBILITY
IF YOU LOSE YOUR DATA OR BRICK YOUR DEVICE. THE TOOL I SHARE HAVE WORKED FOR ME,
BUT THAT DOESN'T MEAN THAT YOU MAY NOT RUN INTO PROBLEMS. **BACKUP YOUR DATA.**
********************************************************************************
181 followers · starred Jan 2024
46 followers · starred Jul 2025
100 followers · starred May 2022
507 followers · starred Dec 2023
Pixel™ phone flashing GUI utility with features.
Python
2,324
506 commits
updated Oct 6, 2026
As the name suggests this is an application to flash (update) Pixel™ phones (possibly all Google™ made phones/tablets, YMMV.)
PixelFlasher at its core is a UI layer (with bells and whistles) on top of adb / fastboot commands, hence many of its features can be used on non Pixel devices as well. (YMMV).
The executable which can be found in releases section is self contained single file and does not require Python™ to be installed on the system.
The application has two modes, normal mode (basic) and advanced mode (expert).
Basic mode: Should suit most users. Some of the features in basic mode are:
boot.img / init_boot.img management UI, select the boot / init_boot file to patch and click the patch button.
Fully Automated patching with Magisk, Apatch, KernelSU, KernelSU-Next, SukiSU, Wild_KSU (without manual steps) and perform upgrades without losing root.boot.img, init_boot.img, vendor_boot.img
/data/adb/tricky_store/spoof_build_vars/data/adb/tricky_store/keybox.xml (Not the contents, just if the certificates are revoked or not)/data/adb/tricky_store/target.txt/data/adb/tricky_store/security_patch.txt/data/adb/tricky_store/tee_status/data/adb/modules/playintegrityfix/custom.pif.json/data/adb/modules/playintegrityfix/custom.pif.prop/data/adb/modules/playintegrityfix/custom.app_replace.list/data/adb/modules/playintegrityfix/scripts-only-mode/data/adb/modules/targetedfix/pif.json/data/adb/modules/playintegrityfix/pif.json/data/adb/pif.jsonExpert mode: (should only be turned on by experienced users). In addition to the basic features, you get:
boot / init_boot)boot (temporary stock or root).plugdev group.
Arch distro users, you might want to check this.PixelFlasher doesn't have to be installed, just double-click it and it'll start.
Check the releases section for downloads.
| File | Description |
|---|---|
| PixelFlasher.exe | Windows standalone x64 binary (recommended for Windows) |
| PixelFlasher-arm64.exe | Windows standalone arm64 binary (recommended for Windows arm64) |
| PixelFlasher_win_2019.exe | Built with Windows 2019, to be used on older Windows) |
| PixelFlasher_MacOS.dmg | Universal MacOS (11+) standalone executable (recommended for MacOS) |
| PixelFlasher_MacOS_legacy.dmg | x86_64 MacOS standalone executable (to be used on older MacOS devices) |
| PixelFlasher_Ubuntu_24_04 | Built on Ubuntu 24.04 Linux standalone x64 binary (recommended for Linux) |
| PixelFlasher_Ubuntu_22_04 | Built on Ubuntu 22.04 Linux standalone x64 binary |
Windows
macOS. Download the DMG or Install via Homebrew by a single command:
brew install badabing2005/pixelflasher/pixelflasher
Linux (See this if you're having issues with a Linux build.)
Scan the list of open issues for bugs and pending features.
Note
This is my first wxPython based project. I got ideas and inspiration from nodemcu-pyflasher.
If you have constructive feedback as for how to improve the code please do reach out to me.
If you want to build this application yourself you need to: Setup
python.org)pip3 install virtualenvvirtualenv --python <PATH_TO_PYTHON_EXE> venvpython3 -m venv venv.\venv\Scripts\activate. venv/bin/activatepip3 install -r requirements.txtA note on Linux: As described on the downloads section of wxPython, wheels for Linux are complicated and may require you to run something like this to install wxPython correctly:
# Assuming you are running it on Ubuntu 20.04 LTS with GTK3
pip install -U \
-f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-20.04 \
wxPython
If you're building on Fedora, take a look at this (Credit to @xChAmeLIoNz).
A note on Windows
If you run into troubles installing wxPython on Windows, you can download wxPython wheel file matching your version of Python™ from wxpython snapshot-builds
Look for cp310 if your python™ version is 3.10
You install it with pip, for example this would be the command to install 3.10 version.
pip install wxPython-4.1.2a1.dev5308+2258f215-cp310-cp310-win_amd64.whl
A Note on MacOS
Don't install Python™ on MacOS, instead
brew install wxpython, this will install Python™ 3.9.12, the installed wxPython will only work with this version of Python.
If python 3.9.12 is not in the system path, you can find it here:
/usr/local/Cellar/python@3.9/3.9.12/Frameworks/Python.framework/Versions/3.9/bin
It is advised that you add this to your system PATH
On MacOS, you should also install create-dmg
brew install node graphicsmagick imagemagick
npm install --global create-dmg
Build
Run build.bat on Windows or build.sh on Linux / MacOS.

next to it.Scan button to detect connected devices, the application will detect all connected devicesshell in Magisk.
next to it.
Note: Because both firmware package and full OTA are complete images, you can upgrade to any newer version without worrying about jumping versions (downgrades with factory image are possible only with wipe data).
⚠️ Do not rename the downloaded file or extract parts of it, just point to the downloaded zip. PixelFlasher does validations to ensure you don't accidentally flash the wrong image to your device.boot.img, init_boot.img vendor_boot.img, vbmeta.img from the image (if present in the image) and populate the boot list with an entry (5). This entry represent the stock boot / init_boot / vendor_boot.boot.img, init_boot.img, vendor_boot.img)
Your phone does not need to be rooted to create a patched file.
This would be the typical choice for monthly updates.shell.
Indicates that the selection is patched.root, app, uiautomator, manual)-w flag is removed from the flash scripts so that data is not wiped. This is commonly known as dirty flashing.
Flash Mode.To enable the export mode use the File Menu | Advanced Configuration and select Enable Advanced Options

In this mode the following additional options are exposed (green bounding boxes), below notes are more for enumeration than a guide, as they should be trivial and obvious to an expert.
boot.img (or init_boot.img for Pixel 7 or newer devices) from the ROM image and displays below for selection or patching.
Please make sure to read the documentation of the chosen ROM, as each custom ROM instructions could be different.Flash Mode just like a stock image, i.e. bootloader, custom ROM and radio images in the original order that they were in the stock firmware.boot.img (or init_boot.img for Pixel 7 or newer devices) can be performed if the option is selected. You can select any of the listed files.Flash to both slots option is selected, Pixelflasher flashes each slot individually to overcome a Google bug that fails with the option --slot=allPixelFlasher currently includes French and Spanish translations, which were created using online translation tools. While these translations are functional, they may contain inaccuracies or awkward phrasing.
If you'd like to help improve existing translations or add support for a new language:
locale\en\LC_MESSAGES\pixelflasher.po as your template for translation.Please note the following about translations in PixelFlasher:
Your help improving translations is greatly appreciated!
fr, used online translation (it could be imperfect)es, used online translation (it could be imperfect)zh-rTW, thanks to EdwardWuzh_CN, thanks to LittlenineEnneait, thanks to bandrea83Downgrade Patch and Cancel OTA Update.erofs-builder to build the EROFS extractor; see erofs-builder/ for the builder source and follow the upstream projects' licenses.If you need support or assistance, please first search Github issues and XDA Forums to see if it is already reported / resolved, if not, please generate and provide a support file from within PixelFlasher. You can hit that big Support button on the main screen, or select it from the Help menu. The generated support.zip file is encrypted and optionally sanitized (redacted) to keep your sensitive information (username device id ...) private.
********************************************************************************
PLEASE DO YOUR PART AND READ / SEARCH / RESEARCH BEFORE USING THIS PROGRAM
AND/OR ATTEMPTING ANY MODIFICATIONS ON YOUR DEVICE.
THIS PROGRAM ASSUMES THAT YOU ALREADY KNOW HOW TO AND HAVE ALREADY UNLOCKED
YOUR BOOTLOADER, ALREADY ROOTED YOUR DEVICE, AND KNOW HOW TO USE ANDROID SDK
PLATFORM-TOOLS, ETC.
THIS TOOL IS SIMPLY MY QUICK WAY OF UPDATING THE FIRMWARE WHILE ROOTED WITH
MAGISK, WITHOUT LOSING DATA / REQUIRING A WIPE.
MODIFYING YOUR DEVICE COMES WITH INHERENT RISKS, AND IT'S NOT MY RESPONSIBILITY
IF YOU LOSE YOUR DATA OR BRICK YOUR DEVICE. THE TOOL I SHARE HAVE WORKED FOR ME,
BUT THAT DOESN'T MEAN THAT YOU MAY NOT RUN INTO PROBLEMS. **BACKUP YOUR DATA.**
********************************************************************************
181 followers · starred Jan 2024
46 followers · starred Jul 2025
100 followers · starred May 2022
507 followers · starred Dec 2023