ROM File Formats
Understanding the different file types for game backups and which ones to use.
Overview
A ROM file is a digital copy of a game. The file format depends on what the original media was (cartridge, CD, DVD, etc.) and whether the file has been compressed.
Think of it like this: A photo can be saved as JPG, PNG, or RAW. They are all the same image, just stored differently. Game files work the same way. The same game can exist in multiple formats.
Why So Many Formats?
- Original media type: Cartridges and discs have different data structures
- Compression: Smaller files save storage space
- Emulator requirements: Some emulators prefer specific formats
- Regional variations: Different dump methods in different communities
Cartridge-Based Formats
Games that originally came on cartridges (NES, SNES, N64, Game Boy, etc.) have straightforward formats. The ROM file is basically a raw dump of the data stored on the cartridge's memory chips.
Common Cartridge Extensions
| Extension | System | Notes |
|---|---|---|
.nes | NES/Famicom | iNES format, includes header with mapper info |
.sfc / .smc | SNES | SFC is preferred, SMC may have obsolete header |
.n64 / .z64 / .v64 | Nintendo 64 | Same data, different byte order (z64 preferred) |
.gb | Game Boy | Original Game Boy games |
.gbc | Game Boy Color | GBC-specific or GBC-enhanced games |
.gba | Game Boy Advance | GBA games |
.nds | Nintendo DS | DS game dumps |
.3ds / .cia | Nintendo 3DS | 3DS: cartridge dump. CIA: installable format. Both need decryption. |
.md / .bin / .gen | Sega Genesis | All work, .md is standard |
.sms | Sega Master System | Master System games |
.gg | Game Gear | Game Gear games |
.32x | Sega 32X | 32X add-on games |
.pce | TurboGrafx-16 | PC Engine/TG16 HuCards |
.ngp / .ngc | Neo Geo Pocket | NGP and NGP Color games |
.a26 | Atari 2600 | 2600 cartridge dumps |
.lnx | Atari Lynx | Lynx game format |
NES Headers Explained
NES ROMs come in two variants:
- Headered (.nes) - Has a 16-byte iNES header at the start. This header tells the emulator which mapper chip the cartridge used. Most emulators require headered ROMs.
- Headerless - Raw dump without the header. Rarely used for emulation, mainly for hardware flashcarts or special purposes.
Stick with headered .nes files. The iNES 2.0 format is the most accurate version of the header, containing detailed mapper and submapper info.
N64 Byte Order Explained
Nintendo 64 ROMs have three formats that contain the same data but store bytes in different orders:
.z64- Big-endian (native N64 format). Preferred..n64- Little-endian (byte-swapped). Common but not ideal..v64- Word-swapped. Less common.
All three work in modern emulators. If you have a choice, use .z64 (big-endian). ROM sets from No-Intro use the z64 format.
3DS Encryption
Nintendo 3DS games are encrypted. They need to be decrypted before most emulators can play them.
.3ds- Cartridge dump format. Encrypted..cia- Installable format (like how you'd install on a real 3DS). Encrypted..cxi- Decrypted format. Ready to play.
Decrypting 3DS Games
To decrypt 3DS games, you need AES keys (aes_keys.txt). These go in your emulator's system folder:
- Citra/Lime3DS: Place in
sysdatafolder - Tools: Batch CIA-3DS Decryptor can decrypt files in bulk
Alternatively, download pre-decrypted CIA files from sources like hShop.
Disc-Based Formats
Games on CDs, DVDs, and Blu-rays are more complex. They contain not just game data but also audio tracks, file systems, and error correction data.
ISO Format
.iso is the most common disc image format. It is a raw sector-by-sector copy of a data disc. ISO works for:
- PlayStation 1 (data-only games)
- PlayStation 2
- PlayStation Portable
- GameCube (though RVZ is better)
- Wii (though RVZ is better)
- Dreamcast (when converted from GDI)
- Xbox (original)
ISO cannot store CD audio tracks. Many PS1 games and Sega CD games have music on separate audio tracks. For these, you need BIN/CUE or CHD format.
BIN/CUE Format
A BIN/CUE set consists of two files:
.bin- The actual disc data (can be multiple .bin files).cue- A text file that tells the emulator how to read the .bin
This format properly handles:
- Multiple data and audio tracks
- Mixed-mode CDs
- Pregaps and postgaps between tracks
Essential for: PlayStation 1, Sega CD, Saturn, TurboGrafx-CD, and any game with CD audio.
GDI Format (Dreamcast)
.gdi is the recommended format for Dreamcast. A GDI set includes:
- A .gdi file (index, similar to .cue)
- Multiple track files (.raw or .bin)
This preserves the unique layout of Dreamcast's GD-ROM discs, which held about 1GB on a special high-density area.
Not all emulators support BIN/CUE for Dreamcast. GDI format works with all Dreamcast emulators and is the standard for Redump sets. If you have BIN/CUE Dreamcast games, consider converting them to CHD.
CDI Format
.cdi was a proprietary DiscJuggler format commonly used for Dreamcast. It works but GDI or CHD is preferred for accuracy. CDI files may be missing data from the high-density area.
Compressed Formats
Compressed formats save storage space by eliminating redundant data. Modern emulators can decompress on-the-fly with no performance impact.
CHD (Compressed Hunks of Data)
CHD is MAME's compression format and is now widely supported. It is the best choice for most disc-based games.
| Advantage | Details |
|---|---|
| Single file | No more managing .bin + .cue + audio tracks |
| Great compression | Often 50-70% smaller than ISO |
| Preserves everything | Audio tracks, subchannel data, all metadata |
| Wide support | RetroArch, PCSX2, Dolphin, and more |
| Verification | Includes checksums for integrity |
CHD works for: PlayStation 1, PlayStation 2, Sega CD, Saturn, Dreamcast, TurboGrafx-CD, arcade games, and more.
RVZ (Revolution Compressed)
RVZ is Dolphin's modern compression format for GameCube and Wii games. It is the best choice for GameCube and Wii.
| Feature | RVZ | ISO | WBFS |
|---|---|---|---|
| File size (typical Wii game) | ~2-4 GB | ~4.7 GB | ~2-4 GB |
| Preserves all data | Yes | Yes | No (strips unused) |
| Dolphin support | Full | Full | Full |
| Can convert back to ISO | Yes | N/A | No |
NKit Format
.nkit.iso and .nkit.gcz are special formats for GameCube and Wii that achieve very small file sizes by removing junk data.
NKit removes padding and unused data to shrink files. While games play fine, you cannot perfectly restore the original disc image. For archival purposes, use RVZ instead. For just playing games, NKit works but RVZ is still preferred.
Other GameCube/Wii Formats
| Format | Notes |
|---|---|
.gcz | Older Dolphin compressed format. Works but RVZ is better. |
.wbfs | Wii Backup File System. Removes unused data, cannot convert back perfectly. |
.ciso | Compressed ISO. Less efficient than RVZ. |
.wia | Older format, replaced by RVZ. |
.nkit.iso | NKit format. Small but lossy. RVZ preferred. |
PSP Compressed Formats
| Format | Notes |
|---|---|
.cso | Compressed ISO. Widely supported, good compression. |
.zso | LZ4-compressed. Faster decompression than CSO. |
.chd | Also works for PSP in PPSSPP. |
.pbp | PlayStation Store format. Some games came in this format. |
ZIP Archives
Many RetroArch cores can load ROMs directly from .zip files. This saves space for cartridge-based games but is not recommended for disc games.
Modern Console Formats
Nintendo Switch
| Format | Description | Notes |
|---|---|---|
.nsp |
Nintendo Submission Package | Digital download format. Commonly used. |
.xci |
NX Card Image | Game cartridge dump. Larger, may include updates. |
.nsz |
Compressed NSP | Smaller than NSP, requires decompression or compatible emulator. |
.xcz |
Compressed XCI | Same as NSZ but for XCI. |
Nintendo Wii U
| Format | Description |
|---|---|
.wux |
Compressed Wii U disc image. Recommended for disc games. |
.wud |
Uncompressed Wii U disc. Very large (25 GB each). |
.wua |
Cemu's archive format. Contains game + updates + DLC in one file. |
| Folder | Loadiine format. Extracted and decrypted game files in folders. |
Encrypted vs Decrypted Wii U Games
Wii U games from the eShop are encrypted. You need Wii U common keys to decrypt them. Tools like CDecrypt or WiiUDownloader handle this automatically.
Cemu can play encrypted games if you provide the keys, but decrypted folder format or WUA is simpler to work with.
PlayStation 3
PS3 games are structured as folders, not single files:
GAMEID/
PS3_GAME/
USRDIR/
EBOOT.BIN (main executable)
... (game data)
The folder structure must be preserved. RPCS3 can also install .pkg files directly.
PlayStation Vita
| Format | Description |
|---|---|
.vpk |
Vita Package. Standard homebrew installation format. |
| NoNpDrm | Decrypted game folders. Preferred for Vita3K emulator. |
| MAIDump | Older decrypted format. Works but NoNpDrm is preferred. |
Vita Format Notes
NoNpDrm is the preferred format for Vita games on the Vita3K emulator. These are decrypted dumps that maintain the original folder structure. VPK files work for homebrew but NoNpDrm is better for commercial games.
You can find Vita games through NoPayStation, which provides direct downloads of PSN content.
Arcade ROM Formats
Arcade games work differently from home console games. Each arcade machine had unique hardware, so ROMs contain:
- Multiple chip dumps (CPU, graphics, sound, etc.)
- Specific file naming (derived from MAME's naming convention)
- Parent/clone relationships
ROM Set Types
| Type | Description | Use Case |
|---|---|---|
| Split | Each game is complete in its own folder | Easy to manage individual games |
| Merged | Parent + clones combined in one file | Most space efficient |
| Non-Merged | Each clone is complete on its own | Easiest but largest |
Arcade ROM sets are specific to MAME versions. A ROM set for MAME 0.250 may not work with MAME 0.260. See the Arcade guide for details.
Verification and Quality
What is No-Intro?
No-Intro is a group that catalogs known-good dumps of cartridge games. Their databases contain checksums (digital fingerprints) for every verified ROM. A "No-Intro" ROM set means:
- Every file has been verified against known-good dumps
- Bad dumps and trainer hacks are excluded
- File naming follows a consistent standard
- Headers are correct or removed as appropriate
What is Redump?
Redump does the same for disc-based games. They verify disc images down to the subchannel level, ensuring perfect preservation.
What is TOSEC?
TOSEC (The Old School Emulation Center) is another cataloging project. Unlike No-Intro which focuses on verified good dumps, TOSEC aims to catalog everything: good dumps, bad dumps, alternate versions, prototypes, and more. This makes TOSEC useful for preservation research but less ideal for just playing games.
Checking Your ROMs
You can verify your ROMs using:
- Romcenter - Compares your files against DAT files
- clrmamepro - Advanced ROM management and verification
- RomVault - Modern ROM manager with DAT support
Bad dumps can cause crashes, glitches, or save corruption. Verified ROMs work correctly. This is especially important for games you plan to invest significant time in.
Converting Between Formats
Creating CHD Files
Use chdman (included with MAME) to convert BIN/CUE or GDI to CHD:
chdman createcd -i game.cue -o game.chd
Creating RVZ Files
Use Dolphin's built-in converter:
- Open Dolphin
- Right-click the game
- Select Convert File
- Choose RVZ format
Converting PSP Games to CSO
Use maxcso or PPSSPP's built-in conversion to compress ISO to CSO/ZSO.
RetroDeck and EmuDeck Compression Tools
Both solutions include built-in tools to compress your ROM collection without manually running commands.
Recommended Formats by System
| System | Best Format | Notes |
|---|---|---|
| NES | .nes (or .zip) | iNES 2.0 if available |
| SNES | .sfc (or .zip) | SFC over SMC |
| N64 | .z64 (or .zip) | Big-endian preferred |
| GameCube | .rvz | Best compression, full Dolphin support |
| Wii | .rvz | Same as GameCube |
| Wii U | .wux or .wua | WUA includes updates and DLC |
| Switch | .nsp or .xci | NSZ for space saving if supported |
| Game Boy | .gb / .gbc (or .zip) | Straightforward |
| GBA | .gba (or .zip) | Straightforward |
| DS | .nds (or .zip) | Compression optional |
| 3DS | .3ds or .cia | Decrypted if possible |
| PlayStation 1 | .chd | Preserves CD audio, great compression |
| PlayStation 2 | .chd or .iso | CHD saves space |
| PlayStation 3 | Folder format | Maintain folder structure |
| PSP | .cso or .chd | Either works well in PPSSPP |
| PS Vita | .vpk | Standard format |
| Genesis | .md (or .zip) | Straightforward |
| Sega CD | .chd | Preserves audio tracks |
| Saturn | .chd | Preserves complex disc layout |
| Dreamcast | .chd | Convert from GDI |
| TurboGrafx-CD | .chd | Preserves CD audio |
| Arcade | .zip | Keep in original MAME format |