How to Apply a ROM Hack — IPS, BPS, UPS and xdelta Patch Guide 2026
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.
Solutions
solution #987
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:
- Download Flips from the official GitHub page (search Alcaro Floating IPS GitHub) or from romhacking.net/utilities. Available for Windows, macOS, and Linux.
- Open Flips. Click "Apply Patch".
- Select your
.ipsor.bpspatch file when prompted. - Select your unmodified source ROM file (must match the version the patch was made for — see the patch's readme).
- Choose a name and location for the output patched ROM. Do not overwrite your source ROM — keep the original.
- 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
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:
- Go to marcrobledo.com/RomPatcher.js in any modern browser.
- Click "ROM file" and select your source ROM.
- Click "Patch file" and select your
.ips,.bps,.ups,.aps, or.ppffile. - 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
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:
- Download xdelta UI (Windows) or xdelta3 (command-line, all platforms). Search "xdelta3 GUI" on romhacking.net/utilities.
- Open xdelta UI. Set Patch to your
.xdeltafile, Source to your disc image (.bin,.iso, or.img), and Output to the patched filename. - 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
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.,
.sfcfor SNES,.gbafor GBA,.z64for 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.
Comments (0)
Sign in to_leave_comment