Your ROM and disc image toolkit
Online ROM patcher. Keep your files on your device.
Open archives, apply patches in order, and choose your output format.
- Nothing is uploaded
- Works offline
- No account, no telemetry
game.chdextractgame.isopatch 1translation.bps.rarunpacktranslation.bpspatch 2bugfix.ips.zipunpackbugfix.ipspatch 3undub.xdelta.7zunpackundub.xdeltaoutputgame.isocompresspatched-game.chd · sha1 ✓One pass, no unpacking by hand, no intermediate files. Save it as a weave and the order is kept for the next person.
What file do you have?
Start from what is in your downloads folder. Each one leads to the right tool. See what’s supported
- Apply
translation.bpsA patch someone shared
Translations, fixes, and hacks. Add the game it changes.
- Compress
game.chdA compressed disc image
CHD, RVZ, CSO, and more. Convert it, or take files out.
- Identify
mystery.binA file you can't name
Match its fingerprint to a known game, region, and revision.
- Create
my-hack.sfcYour own edited ROM
Compare it with the original to make a patch you can share.
- Add cheats
game.gbaA game that needs cheat codes
Bake supported codes into the ROM so they work in any emulator.
- Test
patched-game.nesA ROM you want to try
Play supported games in this tab before you save anything.
- Checksum
dump.sfcTwo files to compare
Fingerprint each file to see if they match, even when names differ.
- Weave
patch-chain.zipPatches to hand on
Pin patch order and checksums in one weave someone can replay.
One pass, no unpacking by hand
A disc translation used to mean five tools and a folder of temporary files. Here it is one run.
Open the disc
game.chd is read in place.
Unpack the patches
RAR, ZIP, and 7z, nested ones too.
Apply them in order
The order you set is the order applied.
Compress the result
Save it as patched-game.chd.
Check it
The SHA-1 matches what the patch expects.
Every format you will meet
Every console generation brought its own format. Bring all of them. See the full tables
20 patch formats
.ips .ips32 .solid .bps .ups .vcdiff .xdelta .gdiff .hdiff .aps .apsgba .rup .ppf .pat .ebp .bdf .bsp .mod .dldi .dps
23 archive and disc formats
.zip .zipx .7z .rar .tar .tar.gz .tar.bz2 .tar.xz .gz .bz2 .xz .zst .cso .pbp .chd .gcz .wia .tgc .nfs .wbfs .rvz .z3ds .xiso
8 checksum types
crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32
There is no server to send your files to
The webapp runs the same engine as the CLI, compiled to WebAssembly and running in worker threads. There is no server to send anything to.
Files stay on the device
Files are read and written on your device. No upload ever happens.
Works offline
Install it from the browser menu and it keeps working offline.
Originals stay as they were
Every result is a new file.
Open source, forever
AGPL-3.0 licensed. Read the code, build it yourself, or host the webapp on your own domain. Self-hosting guide
Command line
Batch a whole folder: convert, verify, and patch in one run.
Questions
Are my ROMs or patches uploaded?
No. Files are read and written on your device. There is no server that receives them.
Does rom-weaver include games?
No. Bring your own files. The guided samples use a tiny homebrew NES ROM.
Can I drop a ZIP or 7z without extracting it?
Yes. ROMs and patches inside ZIP, 7z, RAR, and nested archives open in place.
Will it overwrite my original?
Not in the browser. Each result downloads as a new file.