How to Apply a ROM Hack — IPS, BPS, UPS and xdelta Patch Guide 2026

Low4 solutions

I downloaded a ROM hack or fan translation and I have a .ips, .bps, or .ups patch file. How do I apply it to my ROM? The patch file on its own doesn't work as a game — I need to combine it with my own ROM backup, but I'm not sure which tool to use or which ROM version the patch expects.

Important legal note: ROM patching requires you to apply the patch to your own legally-owned ROM backup. Patch files themselves contain no game content — they are just a list of byte changes. Distributing pre-patched ROMs is copyright infringement. The tools and sites in this guide distribute only patches, never pre-patched ROMs.

Last updated 1 week ago0 users reported this issue27
Sign in to interact

Solutions

solution #987

use-flips-for-ips-and-bps-patches (sortOrder=1, isMostHelpful)

Flips (Floating IPS) is the recommended patcher for IPS and BPS formats — the two most common formats for SNES, NES, GBA, and GBC ROM hacks.

Steps:

  1. Download Flips from the official GitHub page (search Alcaro Floating IPS GitHub) or from romhacking.net/utilities. Available for Windows, macOS, and Linux.
  2. Open Flips. Click "Apply Patch".
  3. Select your .ips or .bps patch file when prompted.
  4. Select your unmodified source ROM file (must match the version the patch was made for — see the patch's readme).
  5. Choose a name and location for the output patched ROM. Do not overwrite your source ROM — keep the original.
  6. Click Save. Flips outputs a new patched ROM file ready to load in your emulator.

BPS patches include a checksum: if you get a "CRC mismatch" or "checksum error" when applying a .bps patch, you have the wrong ROM version. Check the hack's readme for the required version (e.g., "USA v1.0 no-intro"). Flips cannot bypass a BPS checksum — by design, to protect against wrong-ROM errors.

IPS patches have no checksum and can be applied to any file. If the game launches but looks wrong, you most likely used the wrong ROM version.

solution #988

use-rompatcher-js-in-browser-no-install (sortOrder=2)

If you don't want to install software, RomPatcher.js is a browser-based patcher that runs entirely on your computer — your ROM and patch files never leave your device.

Steps:

  1. Go to marcrobledo.com/RomPatcher.js in any modern browser.
  2. Click "ROM file" and select your source ROM.
  3. Click "Patch file" and select your .ips, .bps, .ups, .aps, or .ppf file.
  4. Click "Apply patch". The browser downloads the patched ROM directly to your device.

RomPatcher.js supports the widest range of patch formats: IPS, BPS, UPS, APS (for GBA), PPF (for PS1 disc images), and more. No account or upload required.

solution #989

use-xdelta-for-ps1-ps2-and-large-rom-hacks (sortOrder=3)

Some hacks for PlayStation 1/2 and other CD-based systems use .xdelta or .xdelta3 files instead of IPS/BPS. These require a different tool because disc images are much larger than cartridge ROMs.

Steps:

  1. Download xdelta UI (Windows) or xdelta3 (command-line, all platforms). Search "xdelta3 GUI" on romhacking.net/utilities.
  2. Open xdelta UI. Set Patch to your .xdelta file, Source to your disc image (.bin, .iso, or .img), and Output to the patched filename.
  3. Click Patch. Large images may take a few minutes.

PS1 note: your source must be the correct disc image, usually a .bin + .cue pair. The xdelta patch targets the .bin file. Check the hack's readme to confirm whether it patches the entire image or just a single track.

PPF patches (another PS1 format) use PPF-O-Matic, available on romhacking.net/utilities.

solution #990

common-errors-wrong-rom-version-and-fixes (sortOrder=4)

The vast majority of "patch not working" problems come from using the wrong ROM version. Here is how to diagnose and fix the most common errors:

Error: "CRC mismatch" or "checksum error" (BPS patches)

  • You have the wrong ROM version. Read the patch's readme carefully — it will name the required version (e.g., Pokemon - Fire Red Version (USA) (Rev 1)).
  • Find the exact version using a "No-Intro" verified ROM set. The No-Intro database gives each known ROM a standardized name and checksum; your ROM's name and CRC must match.
  • BPS checksum errors cannot be overridden — the protection is intentional to prevent broken patches.

Error: game boots but displays garbage or wrong graphics (IPS patches)

  • Wrong ROM version. IPS patches have no checksum, so they apply silently even to the wrong ROM — the result is garbled output.
  • If the hack says "USA, headered": NES ROMs sometimes have a 512-byte copier header prepended. Use a header-adding/removing tool (TUSH or ROM Header Utility) to match the expected format.

Error: patched ROM shows as wrong file type or emulator won't open it

  • Some patchers strip or change the file extension. Rename the patched ROM to the correct extension for your emulator (e.g., .sfc for SNES, .gba for GBA, .z64 for N64).

Error: "Input file does not match" (UPS patches)

  • UPS patches use source and target checksums, similar to BPS. Ensure your source ROM matches the original game the patch was authored for, not a previously patched version.
Experiencing a different problem?Report a new issue to help the community find solutions.

Comments (0)

No other comments yet. Be the first to share your thoughts.

Sign in to_leave_comment

On This Page