Patch Formats IPS, BPS, UPS, PPF, and XDELTA/VCDIFF explained in simple terms.
Guide

ROM Patch Formats Explained

Patch files don’t contain a full game. They contain only the differences between a clean base ROM and the modified version. You apply a patch to the correct base ROM to create a new patched ROM.

Important

Always use the patch format provided by the patch author. If patching fails, the most common reason is a base ROM mismatch (region/revision/header/checksum) — not the format itself.

IPS (.ips)

ClassicCommon

IPS is one of the oldest and most widely used ROM patch formats. It stores byte-level changes and works great for many retro consoles and smaller hacks/translations.

  • Best for: older ROM hacks & translations
  • Note: needs the exact base ROM; little built-in validation

BPS (.bps)

ModernPopular

BPS is a newer format designed to improve on IPS. It often provides better efficiency and can include stronger checks to help ensure you’re using the correct base ROM.

  • Best for: modern ROM hacks with validation
  • Note: still requires correct base ROM (region/revision)

UPS (.ups)

DeltaCRC

UPS is a delta patch format that frequently includes checksum checks (like CRC) for integrity. It’s popular in certain ROM hacking communities and is used for both small and medium-sized changes.

  • Best for: projects that use checksum validation
  • Note: strict about using the expected base ROM

PPF (.ppf)

DiscLegacy

PPF (PlayStation Patch Format) is often used for disc image patching (commonly seen with older CD-based systems). It can be used for ISO/BIN workflows depending on the patch release.

  • Best for: disc-based game patches (legacy scenes)
  • Note: your disc image must match the patch’s expected version

XDELTA / VCDIFF (.xdelta / .vcdiff)

LargeEfficient

XDELTA (VCDIFF) is a powerful binary diff format. It’s often used for large changes or bigger files where IPS/BPS would be too limited or inefficient.

  • Best for: big patches, large projects, larger ROM/disc files
  • Note: very strict — base file must match exactly

ZIP of patches (.zip)

BundleMixed

Some creators package patches inside a ZIP archive (for multiple versions, regions, or optional add-ons). If supported, you can select a ZIP and then choose the correct patch inside.

  • Best for: bundles with multiple patch options
  • Note: make sure the ZIP contains supported patch types
Format Common Use Strict Base Match? Notes
IPS Classic hacks/translations Yes Old but common; limited validation
BPS Modern hacks Yes Often more efficient; can include checks
UPS Delta patches w/ checks Yes Common in some communities; CRC-style integrity
PPF Disc image patches Yes Legacy format; often for older consoles
XDELTA/VCDIFF Large/binary diffs Very strict Base file must match exactly
Quick tips

If patching fails: (1) verify the base ROM region/revision, (2) try Auto-detect, (3) re-download the patch from the original source, (4) check if the patch expects a headered/unheadered ROM.

FAQ

Common questions
Which patch format should I choose?

Use the one provided by the patch author. On RomPatcher.app, Auto-detect is recommended for most users.

My patch is IPS but it still fails — why?

Usually because the base ROM doesn’t match what the patch expects (region/revision/header/checksum). Try a clean ROM that matches the patch notes.

Is XDELTA the best format?

Not “best” for everything—just good for large diffs. It’s strict and requires an exact base file match.