LowercaseOnline — Free Online Text Tools

ROM Header Decoder

Paste the first bytes of a ROM file as hex to decode the header for NES, SNES, Game Boy, or Sega Genesis.

Enter at least the first 16 bytes of the ROM file.

Header Valid
Load example

What is iNES Format?

iNES is the standard ROM format for NES games, created by Marat Fayzullin in 1995. Every .nes file starts with a 16-byte header beginning with the magic bytes 4E 45 53 1A ("NES" followed by MS-DOS EOF). This header tells emulators how large the game is and how to configure the hardware.

PRG ROM holds the program code (in 16 KB banks). CHR ROM holds graphics data (in 8 KB banks). If CHR ROM size is 0, the game uses CHR RAM instead. The mapper number (bits from bytes 6 and 7) tells the emulator which memory-banking chip (MMC) was in the cartridge — there are over 400 defined mappers.

NES 2.0 is an extended header format: if bits 2-3 of byte 7 equal 10 in binary, the header uses the newer spec with extended mapper info, submapper numbers, and battery/RAM sizes.

No-Intro vs headered ROMs: No-Intro is a ROM preservation standard that strips headers, storing the raw ROM data only. Emulators that support both formats auto-detect which type they received.