Skip to content
EZ ROM Patcher

Patch a ROM in your browser

Drop in your ROM and a patch file. The patched game downloads straight back to you.

Apply patchloading

Loading the patching engine…

NO UPLOAD|ROM PATCHER JS BY MARC ROBLEDOBUILD AEF583B
  • Nothing uploaded
  • No install
  • 10 formats
  • Free

Accepts IPS · BPS · UPS · APS · RUP · PPF · XDELTA · BSDIFF · EBP

Short answer

Apply an IPS, BPS, UPS, APS, RUP, PPF, xdelta or BSDiff patch to any ROM. Select your ROM, select the patch, and press Apply. Everything runs on your own device, so your ROM is never uploaded to a server, and there is nothing to install.

What this ROM patcher does

It applies a patch file to a game ROM and gives you back the modified game. That covers fan translations, romhacks, bug fixes, quality-of-life mods and restoration patches. Ten patch formats are supported, including IPS, BPS, UPS, xdelta and PPF.

The work happens in your browser. Your ROM is read from disk into memory on your own machine, patched there, and written back out as a download. Nothing is uploaded, which is why it works the same on a phone as on a desktop and why it keeps working if your connection drops.

Which patch formats can you apply?

FormatExtensionVerifies your ROMCreate here
IPS.ipsNoYes
BPS.bpsYesYes
UPS.upsYesYes
APS.apsYesYes
RUP.rupYesYes
PPF.ppfPartlyYes
EBP.ebpNoYes
xdelta / VCDIFF.xdelta, .vcdiffYesNo
BSDiff.bdf, .bspatchNoNo
Star Rod.modYesNo

You do not need to know which format you have. The patcher reads the first bytes of the file and identifies it. Full details are on the patch formats pages.

How do you patch a ROM?

  1. Select your ROM

    Choose the original, unmodified ROM. Its CRC32, MD5 and SHA-1 appear so you can confirm it is the right file.

  2. Select the patch

    Choose the patch file, or a zip containing it. Archives are unpacked for you.

  3. Check the header option

    If a copier header is detected on a SNES or NES ROM, a checkbox appears. Most modern patches want it removed.

  4. Apply

    Press Apply patch and the patched ROM downloads.

The longer walkthrough, including what to do when something fails, is in how to apply a patch.

Why does it matter that nothing is uploaded?

Most online patchers send your ROM to a server, patch it there and send it back. That means handing a copy of your game files to someone else’s machine, waiting on an upload for files that can run to hundreds of megabytes, and depending on that server staying online.

This one does the work locally instead. It is faster for large files, it works offline once loaded, and your ROM never leaves your device. There is no upload step because there is nowhere to upload to.

Playing the patched ROM

A patched ROM is an ordinary ROM file. Load it in whatever you already use: RetroArch, Delta, Snes9x, mGBA, Dolphin, DuckStation or a flash cart such as an Everdrive. No emulator needs to know the file was patched.

If your emulator rejects the file, check that you extracted it from any zip first, and that the patch applied to the correct base ROM.

Guides for every patch format

Frequently asked questions

What is a ROM patcher?

A ROM patcher applies a patch file to a game ROM, turning it into a modified version such as a fan translation, a romhack or a bug fix. The patch contains only the differences, so you supply your own ROM and the patcher reconstructs the modified game on your device.

Are my ROMs uploaded to a server?

No. Everything runs in your browser using JavaScript and Web Workers. Your ROM and patch are read into memory on your own device and never transmitted. You can load the page, disconnect from the internet, and patching still works.

Which patch formats are supported?

IPS, BPS, UPS, APS in both its N64 and GBA variants, RUP, PPF, BSDiff, xdelta/VCDIFF, EBP and Star Rod .mod files. You can create patches in IPS, BPS, UPS, APS, RUP, PPF and EBP.

Do I need to install anything?

No. There is nothing to download and no account to create. The patcher is a web page that does its work locally, so it runs on Windows, macOS, Linux, ChromeOS, Android and iOS equally.

Why does my patch say the checksum does not match?

Your base ROM is not the exact file the patch was built from. The usual causes are a copier header on a SNES or NES ROM, a different regional release or revision, or a ROM that has already been patched. Formats like BPS check this deliberately so you do not end up with a corrupt game.

Do you host ROMs?

No, and we do not link to them. This site provides patching tools only. You supply your own ROM, and the lawful way to obtain one is to dump it from a cartridge or disc you own.

Can I patch a ROM on my phone?

Yes. The patcher works in mobile Safari and Chrome, and the patched ROM saves to your Downloads folder. Cartridge ROMs are no problem. Large disc images can exceed the memory a phone browser is allowed, so those are better done on a computer.

Do I need to unzip the patch first?

No. Select the zip and the patcher extracts the patch inside. If an archive contains several patches, you get a list to choose from. Only zip is handled, so extract .rar and .7z files first.

Will patching modify my original ROM?

No. The original file is only ever read. The patched ROM is built in memory and saved as a separate download, so you can always patch again from the same clean copy.

Is it legal to use a ROM patcher?

The tool itself is an ordinary file utility. Patches are generally distributed freely because they contain only the author’s own changes rather than the copyrighted game. Where you stand on the ROM itself depends on how you obtained it and on the law where you live.

What is the difference between IPS and BPS?

IPS is a simple list of byte overwrites with a 16 MB ceiling and no verification. BPS stores a real binary delta, embeds CRC32 checksums so it refuses to patch the wrong ROM, has no practical size limit, and produces much smaller patches. BPS is the better default.

What software is this built on?

The patching engine is Rom Patcher JS by Marc Robledo, an open-source MIT-licensed project. This site vendors it directly from its GitHub repository at build time and verifies it with automated round-trip tests before every deploy.

Last reviewed