What is the GB file format?
.gb files are raw binary dumps of Nintendo Game Boy cartridge ROMs. The original Game Boy (model DMG-001) launched in Japan in April 1989, and .gb became the community-standard extension for preserved copies of cartridge read-only memory chips.
A .gb file is a direct byte-for-byte image of the cartridge ROM banks with no wrapping container or compression. The file begins with ROM bank 0, which holds the interrupt vectors at 0x0000, a 4-byte NOP+JP entry point at 0x0100, and the cartridge header from 0x0100 to 0x014F. The 48-byte Nintendo logo bitmap starting at offset 0x0104 must match a fixed binary pattern exactly - the Game Boy BIOS validates this on boot as an IP protection mechanism. An 8-bit header checksum at 0x014D is enforced by the BIOS; a 16-bit global checksum at 0x014E-0x014F is informational only and not verified by hardware.
ROM sizes range from 32 KB (simple cartridges) up to 8 MB for titles using Memory Bank Controllers (MBC1, MBC3, MBC5). Battery-backed save data is stored separately as .sav or .srm files, never inside the .gb file itself.
Games enhanced for Game Boy Color set header byte 0x0143 to 0x80 (GBC-compatible) or 0xC0 (GBC-only). Titles exclusively for GBC conventionally use the .gbc extension instead.
Security & safety
RISK: MEDIUMA .gb ROM file is inert binary data and cannot execute on a PC. The risk is legal: downloading commercial Game Boy games you don't own is copyright infringement in most countries. ROM sites often have adware, fake download buttons, and occasionally mislabeled malware installers. Legal routes: dump cartridges you own with a GB cartridge dumper (e.g. GB Operator, Epilogue).
Format details
in a nutshell- GenBank Sequence File - NCBI GenBank uses .gb as an extension for DNA/RNA sequence files in GenBank flat-file format; completely unrelated to gaming.
Programs that open GB files
Technical details
deep spec| Container | None - raw cartridge ROM dump with no filesystem or wrapper structure |
| Byte order | Big-endian (Z80/SM83 CPU architecture; multi-byte header values stored big-endian) |
| Compression | None at file level; individual games may compress internal assets independently |
| ROM size range | 32 KB (bank-0-only cartridges) to 8 MB (MBC5 cartridges with maximum banking) |
| Entry point | 4-byte NOP + JP instruction at offsets `0x0100`-`0x0103` |
| Nintendo logo check | 48-byte bitmap at `0x0104`-`0x0133`; BIOS validates exact match on every boot |
| Header checksum | 8-bit checksum at `0x014D` covering bytes `0x0134`-`0x014C`; enforced by BIOS - mismatch prevents boot |
| Global checksum | 16-bit sum at `0x014E`-`0x014F`; covers all other ROM bytes; informational only, not hardware-verified |
| CGB compatibility flag | Byte `0x0143`: `0x80` = GBC-compatible DMG game; `0xC0` = GBC-only; `0x00` = DMG-only |
| Memory banking | MBC type identified at header byte `0x0147`; types include MBC1, MBC2, MBC3, MBC5 |
| Save data | Battery-backed RAM stored separately as `.sav` or `.srm` files; not embedded in the `.gb` file |
| Screen resolution | 160×144 pixels (hardware property; not stored in ROM file) |
| Released | 1989 (Game Boy DMG launch, Japan) |
| Latest version | N/A (fixed hardware format; no versioning) |
| Specification | gbdev.io |
GB conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about GB files.