rom-weaver documentation

rom-weaver applies BPS, IPS, UPS, and xdelta ROM patches, converts discs to and from CHD and RVZ, compresses 3DS ROMs to Z3DS, identifies ROMs, and tests games you already have. Your files stay on your device.

What rom-weaver supports explains every feature in plain words, with links to exact support limits.

These pages are organised by what you need right now: learning, doing, looking up, or understanding.

New here?

Start in the browser. No account, installation, or commercial game is needed for the practice run.

  1. Follow your first patch with the supplied homebrew files.
  2. Check the result against the tutorial's checksum.
  3. Choose your own task below. Keep a clean backup of your files.

Prefer the terminal? Start with Install the CLI, then your first CLI apply.

Guided runs in the app: Apply, Create, Weave, and Test, plus cheat runs for Apply and Create. Guided Apply waits for you to add files, and its Continue uses the practice files when you have none. Guided practice runs lists what each run covers and where it starts.

Choose a task

I want to… Browser guide
Add a translation or other game change Apply a patch
Add a patch recipe to my release page Add an Apply button
Share changes I made Create a patch or weave a recipe
Find which game or revision a file contains Identify a ROM by checksum
Find a ROM from an existing CRC32, MD5, or SHA-1 hash Search ROM checksums
Check a file against an expected checksum Checksum a file
Take files out of an archive Extract files
Package files or compress a disc image Compress files
Make a game's file smaller Compress files, or trim padding
Decompress RVZ to ISO Extract an ISO from RVZ
Compress ISO or BIN/CUE to CHD Create a CHD
Decompress CHD to ISO, BIN/CUE, or GDI Extract a disc from CHD
Compress a GameCube or Wii ISO Compress ISO to RVZ
Compress a Nintendo 3DS ROM Create a Z3DS file
Decompress Z3DS, ZCCI, ZCXI, ZCIA, or Z3DSX Extract a Nintendo 3DS file
Use cheat codes Add cheats
Play a game or back up progress Test a ROM
Change saved progress Edit a save or create a fresh save
Work without an internet connection Set up offline use
Connect an AI agent Use MCP and browser agents

For terminal equivalents and availability limits, use the feature map.

Tutorials

Guided practice runs. Follow them start to finish; everything you need is supplied.

How-to guides

Procedures for specific tasks.

In the browser

From the terminal

Deploying and integrating

  • Self-hosting: Docker, static deployment, reverse proxies, subpaths, HTTPS, and COOP/COEP.
  • Webapp integration: preload ?weave=... and ?rom=...&patch=... URLs, or feed same-origin OPFS files into the pipeline.
  • Hosted deployment channels: production, beta, nightly, and pull-request previews.

Reference

Facts to look up. No advice, no steps.

Explanation

Background on the engine, formats, and design decisions.

Quick answers

  • FAQ: common questions, each pointing at the page that owns the answer.
  • About: who makes rom-weaver, its licence, and what it is built on.
  • Privacy: browser storage, logs, analytics, and network requests.
  • Notices: licensing and third-party components.

Develop and contribute

Quick answers

Read the full FAQ

Do my files get uploaded?

No. The webapp reads, patches, and writes files on your device.

Which patch format should I use?

Applying a patch? Use the file you were given. Creating one? BPS is a good cartridge default.

Why does my ROM not match?

The region, revision, header, byte order, archive entry, or patch order differs from the author's file.