What is the Z64 file format?
.z64 is a game ROM file format associated with the Nintendo 64 (N64) gaming console, storing a cartridge dump in big-endian (native) byte order - the format most modern emulators prefer. The same ROM data also appears in two byte-order variants: .v64 (16-bit byte-swapped) and .n64 (word-swapped); all three contain identical game data and convert between each other losslessly. The z64 name originates from the Doctor V64 copier era and does not imply compression. Nintendo 64 was the successor to the SNES gaming console.
Each file begins with a 64-byte header (magic bytes 80 37 12 40 at offset 0) containing the clock rate, entry point, game title, region code, and a CRC pair validated by the IPL3 boot code on real hardware.
One of the big advantages of Nintendo 64 was support for 4 gamepads (game controllers), allowing up to 4 players to play a single game simultaneously. Its biggest competitor, Sony PlayStation, by default supported only up to 2 gamepads. Many N64 games supported all 4 game controllers. Original N64 controllers are also supported by N64 emulators but require special drivers and external devices to work.
.z64 files can be opened using dedicated Nintendo 64 emulation software available for various desktop and mobile platforms. Using .z64 files may be considered a copyright infringement, so it is advised that users verify whether the ROM in question is still copyrighted.
Security & safety
RISK: MEDIUMA .z64 ROM is data, not an executable, so it can't run on its own. Real-world risks are (1) legal - dumping cartridges you own is generally tolerated, but downloading ROMs of games you don't own is copyright infringement; (2) sourcing - ROM sites are riddled with misleading download buttons, bundled adware and fake 'ROM loader' installers, so the danger is the website and wrapper, not the ROM file itself. Get emulators only from their official sites and be wary of any 'all-in-one' ROM+emulator bundles.
Format details
in a nutshellPrograms that open Z64 files
Technical details
deep spec| Byte order | Big-endian (native MIPS N64 byte order); distinguishes `.z64` from `.v64` (16-bit byte-swapped) and `.n64` (word-swapped) |
| Magic bytes | `80 37 12 40` at file offset 0 (PI BSB domain register value + clock config bytes) |
| Header size | 64 bytes; stores clock rate, program counter entry point, game title, cartridge/media ID, region code, and CRC pair |
| Checksum | CRC1/CRC2 pair at header offsets `0x10`-`0x17`, validated by IPL3 boot code against the CIC chip; mismatch causes boot failure on real hardware |
| Boot code block | IPL3 occupies bytes `0x40`-`0xFFF` immediately after the header; CIC chip variant (6101/6102/6105, etc.) determines the checksum seed |
| Encoding | Raw binary; no container or filesystem wrapper |
| Compression | None - uncompressed cartridge dump; individual game assets may be compressed internally |
| Typical file size | 4 MB - 64 MB (32-512 Mbit cartridges; most retail titles 8-32 MB; largest retail release 64 MB) |
| MIME type | `application/x-n64-rom` |
| ROM title field | 20-byte ASCII string at header offset `0x20` |
| Region encoding | Single byte in the ROM header encoding region (NTSC-J, NTSC-U, PAL); affects timing behavior |
| Byte-order interconvertibility | Losslessly convertible to `.v64` or `.n64` by byte-swapping; most emulators and tools like Tool64 handle this transparently |
| Platform support | Windows, macOS, Linux, Android, iOS via emulators; also usable on original hardware via flashcartridges (e.g., EverDrive-64) |
| Released | 1996 (Nintendo 64 console); .z64 dumps via emulators/copiers late 1990s |
| Specification | n64brew.dev |
Z64 conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about Z64 files.