Rom Patcher JS guide

Rom Patcher JS is Marc Robledo's browser engine, MIT licensed, copyright line 2017-2024, with an Octicons notice beside it. It applies IPS, UPS, APS for N64 and GBA, BPS, RUP, PPF, EBP, BSDIFF, Star Rod mods, and VCDIFF. It shows CRC32, MD5, and SHA-1, opens zip files, and can strip a copier header. It also runs under Node. The author's hosted page was labeled v3.5 at check time. GitHub's newest tag is v3.2.1 from 4 Nov 2025. Those two labels are not the same artifact. I run commit 4f17297 from 21 Oct 2026, the one that adds an LZMA secondary decompressor, and I say the hash out loud on the licenses page.

Creator mode builds a patch from two local files for the formats whose modules implement that path. xdelta is apply-only in this engine. The embed mode is what the home page uses: a copy of the rom-patcher-js folder, the webapp script, and a container of known element ids. The wiki shows a preset patch inside a zip. Our copy does not preset a patch, because the search is for a general tool. Validation that demands a known input CRC stays off on the home embed so a normal mismatch comes from the format module.

Interface languages shipped in the file include English, French, German, Italian, Spanish, Dutch, Swedish, Catalan, Valencian, Brazilian Portuguese, Russian, Japanese, and two Chinese variants. Korean is not in that list. I added a Korean string table on this site's copy and a language query the localized pages can pass. That table is ours. The engine underneath is still his, and the credit line stays.

Errors you will actually see are documented as their own index: source, target, and patch checksums, unknown or invalid format, a missing secondary decompressor, a custom code table, and a file the tab should not hold. I link those strings instead of paraphrasing them into a single troubleshooting blob. The original project lives at marcrobledo.com and on GitHub. This guide is the map, not a replacement brand.

FieldRecord
AuthorMarc Robledo
LicenseMIT, 2017-2024, plus Octicons
GitHub tagv3.2.1 on 2025-11-04
Hosted labelv3.5 on the author's page at check time
Pinned commit4f17297 on 2026-10-21
Browser ROM patcher with two file slots and a patch button
Pixel-art CRT showing a blank cartridge, used as a visual marker

Questions

Is v3.5 the same as v3.2.1?

No. v3.2.1 is the tagged release. v3.5 is the label on the hosted page. This site pins a later commit and names it.

Can I embed it?

The license allows it if the copyright and permission notice stay. Our embed is the home page iframe, with the license repeated on the licenses page.

Sources