package icon

UniPatcher

Utility to apply patches to ROMs
New in version 0.19
- Added support for XDelta1 patches
- Fixed applying some XDelta3 patches with DJW compression that previously failed with an error
- Updated interface design based on Material 3, added dynamic color themes
UniPatcher allows you to apply patches to game ROMs.

What is a patch?
A file with the modified data of the game. For example, a game translated from Japanese to English. You download the patch containing the translation. It must be applied to the Japanese version to make an English version of it.

This program will not help you hack native Android games, it was created for the old console games (SNES, PS1, GBA, N64, SMD\Genesis etc.)

Features:
* Supported formats of patches: IPS, IPS32, UPS, BPS, APS (GBA), APS (N64), PPF, DPS, EBP, XDelta
* Create XDelta patches
* Fix the checksum in SMD\Genesis ROMs
* Remove the SMC header from SNES ROMs

How to use?
You have to select a ROM file, a patch and choose which file to save, then click on the button in the bottom. Files are selected through the standard Files application (or through one of the file managers you have installed). The application will show a message when the file is patched. Do not close the application until the file is patched.

Very important:
If the game and patch is compressed (ZIP, RAR, 7z or other), they first need to be unzipped.

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 0.19 (190000) suggested Added on Oct 15, 2026

    arm64-v8a armeabi-v7a x86_64

    This version requires Android 7.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • show notifications
      Allows the app to show notifications
    • org.emunix.unipatcher.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 7.9 MiB PGP Signature | Build Log

  • New in version 0.18
    - Support for Android 16
    - Support for devices with 16 KB page size
    - Minimum supported Android version raised from 5.0 to 7.0 (Nougat)
    - BPS patching rewritten, lower memory usage
    - Tamil translation (thanks to TamilNeram)
  • Version 0.18 (180000) - Added on Sep 17, 2026

    arm64-v8a x86_64

    This version requires Android 7.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • show notifications
      Allows the app to show notifications
    • org.emunix.unipatcher.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 3.0 MiB PGP Signature | Build Log

  • New in version 0.17.3
    - Arabic translation (thanks to Fayçal Boukamel)
    - Esperanto translation (thanks to Jakub Fabijan)
    - Indonesian translation (thanks to Tsaqib Fadhlurrahman Soka, Lim Jia Ming, Reza Almanda)
    - Kurdish (Central) translation (thanks to دیاری ئەرسەلان جەبار)
    - Lithuanian translation (thanks to Gediminas Murauskas)
    - Malay translation (thanks to Muhammad Ammar Bin Rozi)
    - Vietnamese translation (thanks to Haibara Ai)
    - Many other translations updated (thanks to everyone involved)
  • Version 0.17.3 (170300) - Added on Nov 16, 2024

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 5.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • show notifications
      Allows the app to show notifications
    • org.emunix.unipatcher.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 2.8 MiB PGP Signature | Build Log