What is the XCI file format?
An .xci file is a binary image of a Nintendo Switch game cartridge, created by dumping the eMMC chip embedded in a physical cartridge. The format was introduced alongside the Nintendo Switch console launch in March 2017 and is sometimes called an NX Card Image or eXternal Cart Image.
The file structure begins with an encrypted Gamecard header in the first 0x200 bytes, followed by a cartridge certificate and card metadata. At offset 0x10000, an HFS0 (Hash FileSystem) partition table contains sub-partitions named secure, normal, update, and logo. Inside the secure partition, Nintendo Content Archive (.nca) files hold the actual game data - encrypted executables in ExeFS format and game assets in RomFS format.
All content is encrypted with AES-XTS using keys derived from device-specific master keys. To use an .xci file with an emulator, decryption keys (prod.keys) must be dumped from a physical Nintendo Switch console. Without these keys, the file cannot be decrypted or launched.
File sizes range from 512 MB to 32 GB, matching physical cartridge chip capacities. The format is distinct from .nsp (Nintendo Submission Package), used for digital eShop games. The compressed .xcz variant applies NCZ compression to reduce file size without altering the core structure.
Both major Switch emulators, Yuzu and Ryujinx, were shut down following Nintendo legal action in 2024. Community forks continue development but remain in legal uncertainty.
Security & safety
RISK: MEDIUMXCI files themselves are not malicious (encrypted game data). However, sites distributing XCI game dumps for games users do not own are piracy sources. Risk: downloading from unofficial sources may deliver malware embedded alongside or disguised as .xci files. The legal risk of possessing commercial game dumps without owning the cartridge is real (copyright infringement). The emulator ecosystem has also been targeted by Nintendo legal action (Yuzu shutdown 2024, Ryujinx settlement 2024). Use only legal, self-dumped cartridges; use Lockpick_RCM or Hekate-based tools on a physically owned console to dump keys/games legally.
Format details
in a nutshell- Adobe Reader Font Mapping File - Adobe Acrobat/Reader uses .xci for XML-based font mapping configuration files; entirely unrelated to Nintendo Switch. This is the db_name entry - see db_audit_notes.
- Xilinx Vivado IP Configuration File - Xilinx/AMD FPGA tools use .xci for IP core configuration; unrelated to both Nintendo and Adobe.
Programs that open XCI files
Technical details
deep spec| File type | Proprietary binary game cartridge image dump |
| MIME type | application/octet-stream |
| Byte order | little-endian |
| Container structure | HFS0 (Hash FileSystem 0) partitions: secure, normal, update, logo |
| Encryption | AES-XTS per-sector; keys derived from device-specific master keys |
| Decryption key file | prod.keys - must be dumped from physical Nintendo Switch hardware; required by emulators |
| Magic bytes | HEAD (48 45 41 44) at offset 0x0 (encrypted Gamecard header) |
| Header layout | 0x200-byte encrypted Gamecard header; 0x200-byte certificate; HFS0 root partition table at offset 0x10000 |
| Inner format | NCA (Nintendo Content Archive) files containing ExeFS (executable) and RomFS (game data) |
| Integrity checking | SHA-256 hashes stored in HFS0 partition headers per file entry |
| Typical file size | 512 MB - 32 GB (matches physical cartridge eMMC chip capacity) |
| Cartridge chip capacities | 1, 2, 4, 8, 16, or 32 GB eMMC |
| Compressed variant | .xcz - applies NCZ compression to individual NCA files within the XCI container |
| Padding | Files may contain blank padding if game data is smaller than the physical chip capacity |
| Released | 2017 (Nintendo Switch launch, March 3, 2017) |
| Latest version | current (no version number published; format tied to Switch hardware revision) |
| Specification | switchbrew.org |