What is the N64 file format?
.n64 is a Nintendo 64 game ROM image in little-endian (word-swapped) byte order. It contains the complete dump of an N64 cartridge with every 32-bit word byte-reversed relative to the console's native big-endian order.
The Nintendo 64 hardware stores cartridge data in big-endian format (the .Z64 convention). During the late 1990s emulation scene, different cartridge-copy devices produced ROM dumps in different byte arrangements. Three conventions emerged: .z64 (big-endian, native hardware order), .v64 (byte-swapped 16-bit pairs), and .n64 - also written as .u64 - (little-endian/word-swapped). All three contain identical game data; only the byte arrangement differs. Modern emulators detect the byte order from the first four magic bytes and swap automatically, so all three extensions open the same game without manual conversion.
The .n64 magic bytes are 40 12 37 80 at offset 0. The same ROM in .z64 order starts 80 37 12 40; in .v64 order starts 37 80 40 12. The 64-byte ROM header (byte-swapped in .n64) stores the entry point, two CRC checksums validated by the IPL3 boot code against the CIC chip, a 20-character game title, the cartridge and media ID, region code (N=NTSC, P=PAL, J=Japan), and a revision byte.
.n64 is the rarest of the three byte orders in practice. .z64 is the preferred format for preservation and emulation. Converting between .n64, .v64, and .z64 is a lossless byte-swap - no game data is altered.
Security & safety
RISK: MEDIUMAn .n64 ROM is data, not an executable - it cannot run or install itself on a PC. Real risks: (1) Legal - dumping cartridges you own is generally tolerated but downloading ROMs you don't own is copyright infringement under most jurisdictions. (2) Sourcing - ROM download sites are riddled with misleading buttons, adware, and fake 'loader' installers; the danger is the site/wrapper, not the ROM file itself. Always get emulators from their official sites and be wary of all-in-one ROM+emulator bundles.
Format details
in a nutshellPrograms that open N64 files
Technical details
deep spec| Magic bytes | 40 12 37 80 at offset 0 (word-swapped form of native big-endian 80 37 12 40) |
| Byte order | Little-endian (word-swapped) - each 32-bit word has its 4 bytes reversed vs. .z64 |
| ROM header | 64 bytes (word-swapped): entry point, CRC1/CRC2, 20-byte game title, cartridge/media ID, region code byte, revision byte |
| Region code byte | At header offset 0x3E (word-swapped): N = NTSC, P = PAL, J = Japan |
| CRC pair | CRC1/CRC2 at header offsets 0x10-0x17 (word-swapped); validated by IPL3 boot code against CIC chip - mismatch causes boot failure on hardware |
| Cartridge size range | 4 MB - 64 MB (32-512 Mbit); most retail titles 8-32 MB; largest retail release 64 MB |
| Container | Raw flat binary - no filesystem or wrapping container; ROM header + IPL3 boot block + game program/data |
| Internal compression | None at file level; individual game assets may use in-game compression (e.g. Yaz0) |
| Relationship to .z64 | Same content as .z64 (big-endian) with all 32-bit words byte-reversed; lossless conversion in both directions |
| Alternative name | .u64 - identical format and byte order, alternate extension from some early copier hardware |
| Byte-order auto-detection | First 4 bytes uniquely identify the byte order variant; all major N64 emulators auto-swap on load |
| IPL3 boot block | Immediately follows the 64-byte header; contains the CIC-dependent checksum routine and hardware initialization |
| MIME type | application/x-n64-rom |
| Released | 1996 (Nintendo 64 console); .n64 byte-order convention from copier/emulator era late 1990s |
| Specification | n64brew.dev |
N64 conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about N64 files.