xdelta Patcher
xdelta handles the ROMs other formats weren't built for — mainly large Nintendo DS games. It runs here the same way everything else does: locally, in your browser.
Great for large ROMs
A Tool Borrowed From Outside ROM Hacking
Unlike IPS, UPS, or BPS, xdelta wasn't built for ROMs at all — it's a general binary diff format used well beyond gaming. The ROM hacking community picked it up because it scales to much bigger files without the diff itself becoming unreasonably large. That's exactly the situation Nintendo DS ROMs create: they're an order of magnitude bigger than the GBA and SNES games most other patch formats were designed around.
Step-by-Step
Have your base ROM ready
xdelta patches for something like an NDS game can mean waiting on a file that's tens or hundreds of megabytes — make sure you've got it before you start.
Get the .xdelta patch file
These are usually distributed as a single file. Double check it's meant for your exact ROM revision.
Load both files into the patcher
Large files take a moment to read — the tool shows real progress while it works through them.
Download the result
The patched ROM is assembled locally and offered as a normal download once it's done.
Mistakes That Trip Up xdelta Patching
Expecting xdelta to be ROM-hacking-specific
It isn't — xdelta is a general binary diff tool the ROM hacking community adopted because it handles large files well. That also means it doesn't carry ROM-specific conventions the way IPS or BPS do.
Using a differently-dumped copy of a large ROM
Two dumps of the same game can still differ by a few bytes depending on the tool that created them. For big NDS files especially, use the exact source the patch author mentions.
Assuming every .xdelta file behaves the same way
xdelta patches can optionally use secondary compression on top of the diff itself, and the file extension doesn't tell you which kind you have. PatchMyROM handles uncompressed and LZMA-compressed patches (xdelta3's usual default) and tells you if it finds an older DJW or FGK one.
Troubleshooting
Patch is rejected for its "secondary compression"
Some xdelta encoders add an extra compression pass on top of the base diff. PatchMyROM supports uncompressed and LZMA-compressed xdelta patches. If it names DJW or FGK compression, ask the hack's author for a patch built with `xdelta3 -S none` (or `-S lzma`), or apply that patch with the official xdelta3 command-line tool.
Learn moreIt's taking a long time with no visible progress
Large NDS ROMs can run from around 32MB up past 512MB. Reading and hashing a file that size takes real time in a browser — that's expected, not a sign it's stuck.
Learn morePatch applies but the game doesn't boot
Confirm your source ROM byte-for-byte matches what the patch was built against — xdelta diffs are extremely sensitive to any difference in the input file. Most xdelta patches carry a built-in checksum; when they do, PatchMyROM checks the result and refuses to hand over a ROM that fails it, telling you the ROM probably isn't the exact original.
Learn moreFAQ
Related Guides
Large file, same privacy guarantee — your ROM and patch stay on this device the whole time.
Open the ROM PatcherNew to patching in general? See how xdelta compares to IPS, UPS, and BPS.