Skip to content
EZ ROM Patcher

xdelta and VCDIFF patch files

Short answer

An .xdelta file is a VCDIFF patch as defined by RFC 3284, usually produced by the xdelta3 tool. It is a general-purpose binary delta format, not a ROM-specific one, which is why large romhacks favour it. You can apply xdelta patches here in your browser with no install.

xdelta / VCDIFF at a glance
Extension
.xdelta, .vcdiff, .xdelta3
Identifier bytes
0xD6 0xC3 0xC4
Verifies your ROM
Yes
Can change ROM size
Yes
Create on this site
Apply only
Common on
Nintendo 64, GameCube, Wii, PlayStation, Large romhacks

Limitations

  • This site can apply xdelta patches but cannot create them.
  • Patches built with secondary compression are not supported.

How VCDIFF works

VCDIFF encodes a target file as a series of instructions over a source file: copy this run from the source, add these literal bytes, run this byte repeatedly. It is a general binary diff standard, used well outside romhacking, and it handles very large files efficiently.

Because the format is not tied to any console, it works equally on a 64 MB N64 ROM and a multi-gigabyte disc image. That generality is why it became the default for large projects.

Why some xdelta patches fail to apply

VCDIFF allows an optional secondary compressor layered on top of the delta data. The engine behind this site implements the core VCDIFF decoder but not those secondary decompressors, so a patch built with one fails with a clear error rather than producing a bad ROM.

Creating a browser-compatible xdelta patch
xdelta3 -e -S none -s original.z64 modified.z64 patch.xdelta

If you distribute xdelta patches and want them to work in browser patchers, that -S none flag is the one thing to remember.

Creating xdelta patches

This site applies xdelta patches but does not create them. For creating, use the official xdelta3 command line tool. If you only need to distribute a patch and are not tied to xdelta, BPS is a good alternative you can create right here.

Frequently asked questions

What does "not implemented: secondary decompressor" mean?

The patch was created with xdelta3’s optional secondary compression. The browser engine decodes standard VCDIFF but not those extra compression layers. Ask the author for a patch made with -S none, or use the xdelta3 command line tool.

Can I create an xdelta patch on this site?

No. You can apply xdelta patches here, but creating them requires the xdelta3 tool. If you are choosing a format for a new release, BPS can be created here and applies just as widely.

What is the difference between xdelta and VCDIFF?

VCDIFF is the file format defined in RFC 3284. xdelta3 is the program that produces it. People say "an xdelta patch" and "a VCDIFF patch" to mean the same file.

Why do big romhacks use xdelta instead of IPS?

IPS cannot address past 16 MB, which excludes N64, GameCube and disc-based games entirely. xdelta has no such limit and produces compact patches for large files.

Keep reading

Last reviewed