Patching Tutorial
What's patching?
One of the most exciting things about getting into video game emulation is discovering ROM hacks. These are fan-made modifications that breathe new life into classic games. With ROM hacks, you can play titles in English that never had an official translation, take on tougher challenges with increased difficulty, or explore entirely new levels and storylines created by dedicated fans.


To enjoy these custom experiences, you’ll need to apply a patch. There are several different types of patches:
- IPS
- IPS = International Patching System.
- The most common and oldest patch type.
- Contains just the changes to the original game.
- Works well for smaller ROMs and is easy to use.
- UPS
- UPS = Universal Patching System.
- A newer patch that can handle bigger games and more complex changes.
- Often used when IPS patches aren’t enough.
- BPS
- BPS = Beat Patching System.
- A modern patch type used by many popular emulators.
- Works great with big files and can do more advanced patching.
- xDelta
- A patch format often used for very large files like PC games or big ROMs.
- Similar to UPS but less common for older console games.
- PPF
- PPF = PlayStation Patch Format.
- Designed specifically for PlayStation game discs.
- Often used to fix bugs or add translations to PS1 games.
A patch in IPS, UPS, BPS, xDelta, or PPF format needs to be applied to a clean copy of the original game’s ROM. This guide will walk you through the process, explain the different patch formats, and help you avoid common mistakes so you can start playing right away.
Auto Patching with popular emulators
“Auto patching” (also called “soft patching”) is a feature that some emulators offer. It can automatically patch the game if the patch and the ROM have the same filename (but don't change their file extensions). They both must be unzipped and in the same folder. And that's it!
As for which emulators support auto patching and which patch formats, check out the table below.
Emulator / Core | Platforms Supported | Patch Types Supported |
---|---|---|
RetroArch (many cores) | Multi-platform | IPS, UPS, BPS |
snes9x, ZSNES, bsnes | SNES systems | IPS (and some BPS) |
FCEUX | NES systems | IPS |
VBA / VBA-M | GB / GBA systems | IPS (VBA-M also UPS) |
mGBA | GBA systems | IPS, UPS |
Here are some step by step directions for auto patching:
- Firstly, if the directions that came with the patch state that an unheadered ROM is required, that's a separate process that needs to be done first: how to remove the header from a ROM.
- Unzip/extract the ROM from its zip file. If the patch is in a 7Z or RAR file, use 7-Zip (it's free) to extract it.
- Unzip/extract the contents of the ROM hack's zip file. The patch is the file with one of these extensions: ips, ups, or bps.
- Rename the English patch to match the name of the ROM, as shown below:
*If the file extensions are not showing, YouTube has videos helping you on how to show them. (Not required but makes it easier to destinguish between the files)
- That's it, you're done :) Load up the game and it'll be English.
If there's more than one patch: Read the ReadMe file contained within the ROM hack's zip file to learn of the purpose of each patch. But, if you download the patch from my site, then look under the patch's download link for a helpful note specifying the exact patch you need to use.
Note for Mac users: RetroArch supports auto patching. OpenEmu does not support it.
About Manual Patching
Manual patching means you permanently apply the patch, such as an IPS file, directly to the ROM. Once patched, the ROM itself is changed, so it’s important to keep an untouched backup in case you ever need the original version.
Why use manual patching?
- Saves space – After patching, you can zip the ROM again. This reduces file size and keeps things tidy. (Auto patching usually requires the ROM to stay unzipped.)
- Works for multiple patches – Sometimes additional patches are released for English fan translations. It's okay for you to apply multiple patches to a ROM. For example:
- Front Mission – English translation + bug fix patch
- Tales of Phantasia – English translation + English voice dubbing patch
- Sailor Moon RPG – English translation + improvement patches
- No emulator dependency – Once patched, the ROM will work on any emulator (or even flashcart) without relying on the emulator’s softpatching feature.
- Better for archival – Great for keeping a permanent copy of a translated or modded game. You can play it years later without needing the patch file or special settings.
- No filename rules – Auto-patching requires ROM and patch filenames to match; with manual patching, you can name your ROM however you like after patching.
- Fewer load issues – Some emulators can fail to apply patches correctly in auto patching; manual patching avoids this problem entirely.
How To Patch on Windows
The patching utility most people prefer is Lunar IPS. Click the following link to download it:
Download Lunar IPS 58.4 KB
I created a video tutorial with (most of) the directions posted on this page. My video doesn't cover removing a ROM header, which is sometimes required.
If videos aren't your thing, read my step-by-step directions:
- Firstly, if the directions that came with the patch state that an unheadered ROM is required, that's a separate process that needs to be done first: how to remove the header from a ROM.
Make sure the patch is on your desktop and unzipped from its ZIP file. If the patch is in a 7Z or RAR file, use 7-Zip (it's free) to extract it. When you're ready, open Lunar IPS by double-clicking on
.
- Click on the
button.
- The “Select IPS File to Use” window will pop up. Navigate your computer to find the patch.
- When you reach the folder that the patch is in, click on the patch then click Open, as shown here .
- The “Select File to Patch” window will pop up. Just like you did in Step #3 to find the patch, this time do the same thing to find the ROM you want to patch. Click on your ROM, then click Open.
- Note: If you enter the folder containing your ROM and it's not showing up, set Lunar IPS to “All Files” to see it. To do so, click the box in the lower right , then click “All Files”. In my sample, “All Files” had to be clicked to show Tales of Phantasia because it's in FIG format (not that many SNES ROMs are in FIG format).
And that's it! You should see a “The file was successfully patched” message.
How To Patch on Android
You can use UniPatcher to patch ROMs directly on your Android smartphone or tablet. It supports IPS patches, as well as xDelta and BPS formats. The process is simple and works similarly to Lunar IPS on Windows: select the patch file, then select the ROM. That's it!
Before using UniPatcher, you’ll need to extract both the English patch and the ROM from their zip files, because Android doesn’t handle zip extraction by default. For this, you can use a file manager app like Astro File Manager. Here are step-by-step directions for unzipping files with Astro. If your patch is in a 7Z or RAR archive, use the free ZArchiver app to extract it.
One tricky part: if your ROM requires removing its header, UniPatcher alone won’t work. In that case, you’ll need to patch the ROM on a PC or Mac. Alternatively, if your ROM hack is popular, you might find a pre-patched ROM available online.
Don’t have access to the Google Play Store? You can also download UniPatcher from RomHacking.net.
How To Patch on a Mac
If you've been following this tutorial so far, by now you should know the difference between auto patching and manual patching. I'll explain how you can approach these processes on Mac OSX.
Auto patching: RetroArch for Mac supports auto patching with IPS, UPS, and BPS patch formats. You might be thinking, “Hey, what about OpenEmu?? I don't want to use RetroArch!” I know OpenEmu is the most popular emulator for Mac. Unfortunately, it doesn't support auto patching.
Manual patching: You can use Multipatch to patch ROMs. It supports IPS, xDelta, BPS, and PPF patches.
Removing a header: If a ROM needs its header removed, you can do that with NSRT (8.59 MB).
Compressed patches: I'm sure you know already that Macs natively work with ZIP files. However, if the patch you downloaded is in a 7Z or RAR file, you can use Unarchiver or Keka to extract it (these apps are free).
How To Patch on iOS
In April 2024, Apple changed their policy and allowed video game emulators in the App Store! Since then, several great video game emulators such as RetroArch and Delta have been added. So then, how can iOS users patch ROMs and join in on all the fun with ROM hacks?
Auto patching: This isn't supported. While RetroArch supports auto patching, it doesn't work with RetroArch on iOS. The reason why is because iOS doesn't give RetroArch permission to read the contents of folders. iOS is strict with the permissions it gives apps.
Manual patching: You can use this website, RomPatcher.js, to patch ROMs using Safari. It supports IPS, UPS, BPS, APS, RUP, PPF, MOD, EBP, xDelta, and VCDIFF patches. For IPS patches, this should work 50% of the time. However, many ROM hacks require removing the ROM's header before applying a ROM hack's IPS patch. This can only be done on a Mac (or PC). If the ROM hack you're using is popular, you might get lucky and find a pre-patched ROM online.
Compressed patches: I'm sure you know already that iOS natively works with ZIP files when using the Files app. However, for ROM hacks stored in 7Z or RAR files, you can use iZip to extract them.
How To Patch on a Chromebook/Chrome OS
Most Chromebooks these days have the Play Store. In the Play Store, look for UniPatcher. That app will let you patch ROMs with any patch format (IPS, xDelta, etc.).
If you have an older Chromebook without the Play Store, you can patch ROMs online with RomPatcher.js. It supports IPS, UPS, BPS, APS, RUP, PPF, MOD, EBP, xDelta, and VCDIFF patches. The tricky part with IPS patches is that if the ROM needs its header removed, patching it online won't work. You would need to patch the game on a PC (or Mac). Or if the ROM hack you're trying to use is popular, you may find a pre-patched ROM online.
Removing a ROM Header
Many ROM hacks and translations that use IPS patches require the header of the ROM to be removed before applying the patch. They normally state this in the directions, but not always. If a ROM you patched isn't working (it gives you just a black screen), try removing the header on a fresh unpatched ROM and try patching again.
Here are directions on how to remove the header of a ROM:
- Download SNES ROM Utility
(31 KB). This is for Windows.
- In SNES ROM Utility, go to File > Open and load your ROM, as shown here .
- Click “Remove Header” then click OK, as shown here .
- That's it! You should be prompted with this message: “New file created without header!”, and in the same folder where you ROM is located there should be a new ROM with 'headerless' in the filename.
If SNES ROM Utility is giving you issues, TUSH is a good alternative.
On a Mac? Use NSRT (8.59 MB)
When a Patch Doesn’t Include Instructions
It can be frustrating to download a patch that comes without any documentation or ReadMe file. Sometimes the patch might include documentation, but no clear instructions on how to apply it. Without guidance, you might not know which ROM version to use or whether your ROM needs its header removed before patching. So, what can you do? To eliminate this uncertainty, try these two strategies:
Strategy #1: Identify the Correct ROM Version – Visit a ROM site like Archive.org, which hosts multiple versions of many games. To find collections, you can search Google with “archive.org [system] collection”. For example, search archive.org snes collection for Super Nintendo games. Download the available ROM versions and try applying the patch to each one. Test each patched ROM to see if it works. If none work, move on to the next strategy.
Strategy #2: Check for ROM Headers – Using the same ROM files from Archive.org (unpatched), remove the header from each ROM and then apply the patch. Test each version again to see if this resolves the issue.
One of these two strategies should work. If not, there might be another detail you’re missing. Double-check the game’s region (North America, Europe, Japan, etc.) and verify that you’re using the correct console version. For example, you might have accidentally downloaded the Game Boy Advance version of Pokémon when you intended to patch the original Game Boy Classic version.
Patching with UPS, xDelta, BPS, and PPF
This guide focuses on IPS patch files, which is the most popular and most used file format for patches. Sometimes ROM hackers & translators use the other patch formats. I'll run through the best utilities for each format (for Windows).

UPS Patches - A newer format that can handle bigger games and more complex changes. Tsukuyomi UPS is recommended for patching with UPS files.

xDelta Patches - This format is probably the second-most popular under IPS. Delta Patcher is recommended for patching with xDelta files.

BPS Patches - This format started with N64 hacks. Its popularity expanded to support SNES and every other classic system. You can use beat for patching with BPS files.

PPF Patches - This format is popular with PlayStation 1, PSP, and N64 hacks. PPF-O-Matic is recommended for patching with PPF files.
Using the patching utilities recommended above are the same way you use Lunar IPS: all you do is select the patch, select the ROM, and then click Patch.
Are headerless ROMs required? IPS patches commonly require the header removed from ROMs before they can be patched. However, UPS, xDelta, BPS, and PPF patches almost never require a headerless ROM. If a ROM needs to be headerless, the patch creator will always state that in the documentation. In general, you can assume these patch types don’t need you to manually remove a header unless explicitly instructed.
Q: I'm getting a “Bad Checksum” error
When you start your patched game in your favorite SNES emulator and see a “bad checksum” error at the bottom of the screen (like the example below), don’t worry! This is normal. It means the English patch or modification changed the size of the ROM, so the checksum no longer matches. As long as the game starts up normally after this message, everything is fine and nothing is broken or corrupted.
Q: After I patch a game I get a black screen
You more than likely overlooked a detail. Read the ReadMe text file contained with the patch. It should have important details you need to know before applying the patch.
For example, a specific version of the ROM may be required. Did you know “Final Fantasy III (US)” actually has two versions? Version 1.0 and version 1.1 (it's specified in the filename). Some ROM hacks require one or the other. Or maybe a ROM hack requires a specific region for a game. Most of us are from the United States, so we assume the North American version is what we need to use. However, sometimes ROM hacks require the European version.
If you're still having trouble, maybe this other FAQ question can help: When a patch doesn't come with directions
*If you're using a cycle-accurate emulator such as BSNES or Higan, try another SNES emulator.
Q: My patched ROMs don't work with Higan/BSNES
You'd need to try another SNES emulator then. Higan is a 'cycle-accurate' emulator intended to run like a real SNES system. If a ROM hack or translation wouldn't work on the real SNES, then it wouldn't work on Higan.
Q: I can't patch Super Mario World!
If you're having trouble patching Super Mario World with a ROM hack, your issue will most likely be resolved by using ROMclean on your ROM. This utility only works with Super Mario World.
Q: Can I patch for the NES/SNES Classic or Everdrive?
You've probably hacked your NES Classic Mini or SNES Classic Mini to load any game you want (if you don't know how, YouTube has tons of tutorials). Or perhaps you have an Everdrive cart for playing ROMs on a real SNES or other system. So, do hacks work on them? I think it's safe to assume that most ROM hacks and translations will work on them. The ROM hacks that wouldn't work are the ones that used emulator-specific hacks to work.
How do you find out which ROM hacks wouldn't work? That's easy - use a cycle-accurate emulator such as BSNES or Higan. Don't use Snes9X or ZSNES, as they are not cycle-accurate. If you do find that a certain ROM hack or fan translation doesn't work (and you're absolutely sure it's patched correctly), there might be a fix. With the rise of popularity with repo carts, people have released fixes for certain popular fan translations that used emulator specific hacks. I think RomHacking.net has them.
Q: How can I load patched ROMs onto the RetroN 5?
You don't need to do anything special to load patched ROMs onto the RetroN 5. You load patched ROMs the same exact way you load regular ROMs. Don't know how to load ROMs onto it? Check out these videos to learn how.
What's cool is that the RetroN 5 supports auto-patching. It even has a toggle for patches that need a headerless rom to work. But don't ask me how this works because I don't have a RetroN 5.
What's the RetroN 5? It's a popular console released in 2014 that can play your original carts for NES, SNES, Genesis, Game Boy, Game Boy Color, and GBA; including support for the Japanese carts of these systems. Via an SD card you can also play ROMs on it (as explained in the video linked above). You can buy the RetroN 5 on Amazon for around $150 US. Or you can get the cheaper RetroN 3 for around $70-$90 US.
Q: Where can I find ROM hacks and translations?
That's easy. Just go to RomHacking.net. That website contains the largest repository of ROM hacks and translations on the Internet.