.BPS

BPS File

BPS Patch File (Beat Patch System)
Ask a question
QUICK ANSWER

A BPS file is a ROM patch created with the Beat Patch System, storing only the differences needed to turn one ROM into another - used for fan translations and ROM hacks. Apply it with Floating IPS (Windows/Linux), MultiPatch (macOS), UniPatcher (Android), or the browser-based RomPatcher.js. You need the exact matching source ROM; the patch file alone does nothing.

Developer: byuu (Near) - public domain specification Category: Game Files Open standard MIME: application/octet-stream
OPENS ON Windows macOS Linux Android Web
Related: .OBB · .PAK · .ROFL · .PACKAGE

On this page

19k+ extensions indexed
Last reviewed Aug 11, 2026

Not sure what your file is?

Drop any file into our identifier - we read just the first bytes to name the format.

Identify a file

What is the BPS file format?

.bps is a binary delta patch format used in the retro gaming community to distribute ROM hacks and fan translations without distributing copyrighted ROM data. The format was created by byuu (Near), author of the bsnes SNES emulator, around 2012, and its specification was released into the public domain.

A .bps file begins with the four-byte ASCII header BPS1 at offset zero - the 1 is a format version number - followed by variable-length integers encoding the source file size, target file size, and an optional metadata block (UTF-8 text). The patch body uses four command types: SourceRead (copy unchanged bytes from source), TargetRead (write new bytes), SourceCopy (copy from an arbitrary source offset), and TargetCopy (copy from the already-written output). The file ends with three CRC32 checksums (4 bytes each, little-endian): one for the source ROM, one for the expected output ROM, and one covering the patch file itself. A patcher refuses to apply if the source checksum does not match, preventing corrupt output.

BPS succeeded the older IPS format by removing its 16 MB file-size ceiling and adding embedded integrity verification. It is widely used for SNES, GBA, and NDS ROM hacks.

Common tools include flips (Floating IPS, Windows/Linux), MultiPatch (macOS), UniPatcher (Android), and browser-based patchers such as RomPatcher.js.

Security & safety

RISK: MEDIUM

BPS files themselves are just patch data and cannot execute code - they require a separate patcher tool and a ROM. Risk comes from downloading patching tools from unofficial sources (some bundled with adware) and from the legality of ROM distribution in your jurisdiction. Recommended patchers (Floating IPS, RomPatcher.js) are clean open-source tools.

Format details

in a nutshell
FULL NAMEBPS Patch File (Beat Patch System)aka Binary Patch System, BPS ROM patch
DEVELOPERbyuu (Near) - public domain specificationsince circa 2012 (byuu/beat tool)
CATEGORYGame Files
MIME TYPEapplication/octet-stream
TYPEbinary delta/patch file
STANDARDOpen · royalty-free
This extension is also used by…
  • Microsoft Works Backup File - Older entries on some file-info sites claim .bps = Microsoft Works document backup; this is a misidentification - no evidence this association is real or widely used.
MAGIC BYTES · FILE SIGNATURE
OFFSET
00010203
HEX
42505331
ASCII
BPS1
Literal ASCII string 'BPS1' at offset 0; the '1' is a format version digit.

Programs that open BPS files

Windows2 apps
Floating IPS (Flips) Open-source Run Flips, click 'Apply BPS/IPS Patch', select the .bps file, then select your source ROM.
RomPatcher.js (web) Free Open in browser, upload source ROM and .bps patch file, download the patched ROM.
macOS2 apps
MultiPatch Free Open MultiPatch, select the source ROM, then select the .bps patch.
RomPatcher.js (web) Free Browser-based; no install needed.
Linux1 app
Floating IPS (Flips) Open-source Build from source or use a package if available; GUI and CLI modes.
Android1 app
UniPatcher Open-source Select ROM and patch in the app; supports BPS, IPS, UPS formats.
Web1 app
RomPatcher.js Free Upload source ROM + .bps patch in-browser; patching runs client-side.

Technical details

deep spec
Magic bytes`42 50 53 31` (`BPS1`) at offset 0 - `1` denotes format version
Byte orderLittle-endian (variable-length integers and CRC32 checksums)
ContainerCustom linear binary format (no standard wrapper)
EncodingBinary
Integer encodingVariable-length unsigned integers (7 bits per byte, MSB as continuation flag)
Patch commandsSourceRead, TargetRead, SourceCopy, TargetCopy
Checksum schemeThree CRC32 checksums (source ROM, target ROM, patch file) - 4 bytes each, little-endian
Source validationPatcher aborts if source CRC32 does not match embedded checksum - prevents applying to wrong ROM
Typical file sizeA few KB to several MB (proportional to ROM diff size)
SpecificationPublic domain (published by byuu/Near, circa 2012); single version BPS1
Target platformsSNES, GBA, NDS, and other retro ROM hack targets
Predecessor formatsIPS (no checksums, 16 MB size limit), UPS
Releasedcirca 2012 (byuu/beat tool)
Latest versionBPS1 (single version in spec)
Open standardYes · royalty-free
Specificationgithub.com

BPS conversions

Community Q&A

asked by users
Ask a quick question
Get help from people who work with BPS files. Be specific - include your system and software version.
No account needed · answers usually within a day

No questions yet - be the first to ask about BPS files.

Frequently asked questions

What program opens a BPS file?
Floating IPS (Windows/Linux), MultiPatch (macOS), UniPatcher (Android), or the browser-based RomPatcher.js - all free.
How do I apply a BPS patch?
You need the original source ROM and the BPS file. Open a patcher (e.g. Floating IPS), select both files, and it outputs the patched ROM.
Can I open a BPS file without a ROM?
No - a BPS file is a delta (differences only), not the complete file. You need the exact matching source ROM.
What is the difference between BPS and IPS?
BPS is the modern replacement for IPS: it supports files over 16 MB, includes CRC32 checksums to verify both source and result, and has better delta encoding. IPS has no checksums and a 16 MB size cap.
Is a BPS file a virus?
No - BPS files contain patch instructions, not executable code. They cannot run on their own.

References

1Corel R.A.V.E. (Archive Team wiki)fileformats.archiveteam.org
2BPS format specification (byuu, public domain)raw.githubusercontent.com

Keep exploring

across the database

Top extensions this week

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.BINCD/DVD Disc Image (BIN/CUE)
5.RPMSGRestricted Permission Message
6.MDMarkdown Document
7.NOMEDIAAndroid No-Media Marker File
8.PRO6XProPresenter 6 Bundle File
9.EXEWindows Executable (Portable Executable)
10.PRDXSoftMaker Presentations Document

Related extensions

.OBBAndroid Opaque Binary Blob (APK Expansion File)
.PAKGame Resource Package (PAK)
.ROFLLeague of Legends Replay
.PACKAGEThe Sims / Maxis DBPF Package (game content & mods) - dominant meaning
.XSBXACT Sound Bank
.SAVSaved Game File

Free file tools

An in-browser file identifier and image converter - everything runs on your device.

Open the toolbox

Browse file extensions A-Z