rom-weaver

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
apply · 3 patches · in order
result
sourcegame.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

  • translation.bps

    A patch someone shared

    Translations, fixes, and hacks. Add the game it changes.

    Apply
  • game.chd

    A compressed disc image

    CHD, RVZ, CSO, and more. Convert it, or take files out.

    Compress
  • mystery.bin

    A file you can't name

    Match its fingerprint to a known game, region, and revision.

    Identify
  • my-hack.sfc

    Your own edited ROM

    Compare it with the original to make a patch you can share.

    Create
  • game.gba

    A game that needs cheat codes

    Bake supported codes into the ROM so they work in any emulator.

    Add cheats
  • patched-game.nes

    A ROM you want to try

    Play supported games in this tab before you save anything.

    Test
  • dump.sfc

    Two files to compare

    Fingerprint each file to see if they match, even when names differ.

    Checksum
  • patch-chain.zip

    Patches to hand on

    Pin patch order and checksums in one weave someone can replay.

    Weave

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.

  1. 1

    Open the disc

    game.chd is read in place.

  2. 2

    Unpack the patches

    RAR, ZIP, and 7z, nested ones too.

  3. 3

    Apply them in order

    The order you set is the order applied.

  4. 4

    Compress the result

    Save it as patched-game.chd.

  5. 5

    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.

Install method
macOS / Linux

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.

Read the full FAQ