Nintendo 3DS File Formats Explained NCSD, NCCH, CIA

The Nintendo 3DS uses several specialized file formats to store games, applications, updates, and system data. Files such as NCSD, NCCH, and CIA each serve distinct purposes within the console’s software architecture, making them essential to understanding how 3DS games and digital content are organized. Whether you’re exploring game backups, homebrew development, or custom firmware, knowing the role of these formats can help you better understand how the Nintendo 3DS works.

In this guide, we’ll explain the most important Nintendo 3DS file formats, including NCSD, NCCH, CIA, and other internal components. You’ll learn what each format is used for, how they relate to one another, and why they’re important for game installation, storage, and system functionality.

Table of Contents

High-level relationships: NCSD, NCCH and CIA

The NCSD, NCCH, and CIA formats each play a different role in the Nintendo 3DS software structure, but they are closely related. NCSD (Nintendo CTR Secure Digital) acts as a container that can hold multiple partitions, while NCCH (Nintendo CTR Cartridge Header) stores the actual executable code and game resources for a specific title or partition. A CIA (CTR Importable Archive) is an installation package that bundles one or more NCCH contents together with the metadata required for installation.

In simple terms, NCSD organizes content on a game cartridge, NCCH contains the individual game or application data, and CIA packages that content for installation on the system. Understanding these relationships makes it easier to see how Nintendo 3DS games, updates, and applications are structured and managed.

3DS File Format Glossary

Understanding common Nintendo 3DS file terms makes it easier to understand how games and system content are stored.

NCSD (Nintendo Content Storage Device)

NCSD is the main container format used for Nintendo 3DS cartridge images. It defines the overall structure of a game image and can contain multiple partitions, including NCCH containers.

NCCH (Nintendo Content Container Header)

NCCH is a content container format that stores individual sections of a Nintendo 3DS title. It can include executable files, game data, and other system-required resources.

ExeFS (Executable File System)

ExeFS is a section inside an NCCH container that stores executable-related files. It commonly contains the main program code, icons, metadata files, and other information needed to start the application.

RomFS (Read-Only File System)

RomFS stores the main game resources and content files. It can include graphics, sound files, maps, text, animations, and other assets used during gameplay.

TMD (Title Metadata)

TMD is a metadata file that provides information about a Nintendo 3DS title. It contains details such as title identification, content information, version data, and the structure of installed content.

Ticket

A ticket is a file used by the Nintendo 3DS system to verify authorization for installed content. It contains information that links purchased or approved software to a specific title.

Seed

A seed is an encryption-related value used by some Nintendo 3DS titles to protect content. It helps the system decrypt and access certain encrypted data when required.

These components work together to create the complete Nintendo 3DS software structure. While NCSD, NCCH, and CIA describe the main container formats, ExeFS, RomFS, TMD, ticket, and seed handle the internal data, metadata, and security processes that allow games and applications to function correctly.

NCSD (card/container) formats and structure

NCSD is one of the primary container formats used by the Nintendo 3DS system to organize complete game images. It is most commonly associated with physical Nintendo 3DS game cartridges and represents the overall structure of a cartridge-based title.

NCSD (cardcontainer) formats and structure

Instead of storing all game data as a single file, NCSD works as a container that holds different sections of content. These sections are separated by partitions that allow the system to distinguish executable data, game resources, and additional information.

An NCSD file contains a header that describes the image layout and provides information about the partitions it stores. These partitions usually contain NCCH containers, which hold the actual software components required for the game.

The basic structure of an NCSD image can be viewed as a layered system:

NCSD acts as the main container that defines the complete game image. Inside the NCSD container are one or more NCCH sections. These NCCH sections then contain important internal components such as ExeFS, RomFS, metadata, and other required files.

This design allows Nintendo to organize game data efficiently while keeping different parts of the software separated.

Purpose and when NCSD is used (.3ds game cards, dumps)

NCSD is primarily used for physical Nintendo 3DS game cards. When a game is released on a cartridge, the complete cartridge data is structured as an NCSD image that contains all required software components.

The format is also commonly seen in Nintendo 3DS game dumps. A dumped cartridge image usually keeps the original NCSD structure, allowing the backup to represent the complete contents of the original game card.

The most common file format associated with NCSD is .3ds. These files are generally cartridge images that preserve the original organization of the game data.

NCSD is used when the goal is to represent a full game cartridge rather than an installed digital title. It keeps the cartridge layout intact, including the internal partitions and NCCH containers used by the Nintendo 3DS system.

Unlike CIA files, which are designed for installation, NCSD-based images represent the original storage format of physical media. This difference is important when understanding how Nintendo 3DS games are distributed, archived, and processed by different tools.

The NCSD format provides the foundation for cartridge-based software, while the NCCH containers inside it handle the individual content sections that make the game playable.

Variants and image types (.3ds, .cci) — differences and use cases

Nintendo 3DS NCSD-based images can appear in different file extensions, with .3ds and .cci being the most common formats. Both formats are based on the same general NCSD structure, but they may be used in different situations depending on how the game image is stored or handled.

The .3ds format is the most recognized cartridge image format for Nintendo 3DS games. It represents a complete dump of a physical game card and preserves the NCSD structure, including the internal partitions and NCCH containers that make up the title.

A .3ds file is commonly used for archival purposes, testing, and compatibility with software that supports cartridge-style images. It represents the original layout of the game card, not an installed version of the software.

The .cci format, also known as a CTR Cart Image, is another name used for NCSD-based cartridge images. It follows the same basic structure as a .3ds file and stores the contents of a Nintendo 3DS game card.

In many cases, .3ds and .cci files contain the same type of data, with the main differences being the naming convention and the software environment in which the image is used.

NCSD-based images are useful when preserving the original cartridge format is important. They maintain the complete structure of the game card, including partitions, NCCH containers, and other internal information.

These formats are different from CIA packages because they are not designed for installation. Instead, they represent the original physical media structure of Nintendo 3DS games.

NCSD header, partition table and layout

The NCSD header is an important part of the cartridge image because it defines how the data inside the container is organized. It provides information that allows the system and compatible tools to identify the image structure and locate different sections.

Inside the NCSD header is information about the partitions stored within the image. The partition table describes where each partition begins, its size, and the type of content it contains.

A typical NCSD layout consists of multiple areas that work together to store the complete game data. These areas can include the main game partition and additional sections used for supporting content.

The main game partition usually contains an NCCH container that stores the actual software components. This NCCH can include ExeFS, RomFS, and other required files.

The NCSD layout can be understood as a hierarchy:

The NCSD header defines the overall structure of the image. The partition table points to individual partitions. Each partition contains NCCH containers that store executable files, resources, and metadata.

This layered design allows Nintendo to manage different types of content inside a single cartridge image while maintaining organization and security.

Understanding the NCSD header and partition layout is important when working with Nintendo 3DS file formats because it explains how a complete game image is divided into smaller, manageable sections.

NCCH (content container) anatomy and components

NCCH is one of the most important content container formats used by the Nintendo 3DS system. It stores individual parts of a game, application, update, or other software title and is commonly found inside larger containers such as NCSD and CIA files.

Unlike NCSD, which represents the overall structure of a cartridge image, NCCH focuses on storing specific content sections required for a title to operate. A single Nintendo 3DS game can contain multiple NCCH containers, with each one handling different types of data.

An NCCH container is designed to organize software components while keeping executable code, game resources, and supporting information separated. This structure helps the Nintendo 3DS system manage content efficiently and maintain security through encryption and verification methods.

The internal structure of NCCH includes several important areas. These sections work together to provide everything required for a title to run correctly.

The main components commonly found inside an NCCH container include executable data, resource files, and metadata information. Executable content controls how the software runs, while resource content stores the files used within the game.

NCCH containers are used in both physical and digital Nintendo 3DS software. In cartridge-based games, NCCH data is stored inside NCSD images. In digital releases and installed content, NCCH data is commonly packaged within CIA files.

NCCH header, content sections and metadata (TMD, ticket, title ID)

The NCCH header provides important information about the content container and defines how the internal data is organized. It contains details that help the system identify the content type, locate different sections, and verify file integrity.

The header stores information related to the NCCH structure, including identifiers, sizes, encryption details, and references to internal sections. This allows the Nintendo 3DS system to correctly read and process the content.

Inside an NCCH container, different content sections store specific types of data.

The ExeFS section contains executable files and program-related information. It includes the main code required to launch the application along with supporting files such as icons and metadata.

The RomFS section stores most game resources. It contains files such as graphics, audio, maps, text, animations, and other assets used during gameplay.

NCCH containers can also include metadata connected with the title. This information helps the system recognize the software and manage installed content.

TMD, or Title Metadata, provides details about a Nintendo 3DS title. It contains information about the title structure, content records, version information, and other details required for proper software management.

A ticket is a security-related file used to verify authorization for installed content. It helps the system confirm that a title is authorized to run and links the software to its ownership or authorization information.

The title ID is a unique identifier assigned to each Nintendo 3DS title. It allows the system to distinguish between different games, updates, applications, and downloadable content.

Together, the NCCH header, content sections, and metadata create the complete structure required for Nintendo 3DS software. These components allow games and applications to store executable code, resources, and identification information in an organized format.

.cxi / .app — executable content package and placement

The .cxi and .app formats are closely related to Nintendo 3DS executable content. They represent packaged software components containing the core executable data required for a game or application to run on the system.

A CXI file is a type of NCCH container that specifically holds executable content. It usually contains the program code along with important sections such as ExeFS, RomFS, and metadata required by the Nintendo 3DS operating system.

The .app extension is commonly used for content files inside installed Nintendo 3DS titles. Depending on the title structure, an APP file may contain NCCH-based content, including executable components or other data required by the application.

Executable content is usually stored inside larger formats such as NCSD and CIA. In a cartridge image, the executable NCCH content is stored inside the NCSD container. In an installable CIA package, the same type of content can be included as part of the title installation files.

The placement of executable content follows a layered structure. The outer container provides the overall organization, while the CXI or APP file contains the specific program data needed to launch the title.

This separation allows Nintendo to manage game code, resources, updates, and additional content independently while keeping the software structure organized.

ExeFS: layout, common files and converting ExeFS to ELF

ExeFS, short for Executable File System, is one of the main sections found inside an NCCH container. It stores executable-related files and important information the Nintendo 3DS system needs to start and identify a program.

The ExeFS section typically contains the main executable file and its supporting files. These files provide the instructions and metadata required for the application to run correctly.

A typical ExeFS structure may include files such as:

.code

The .code file is the main executable section of a Nintendo 3DS application. It contains the compiled program instructions that the system executes.

Icon files

ExeFS can include icon data used to display the application’s image on the Nintendo 3DS menu.

Metadata files

Additional files inside ExeFS may store information about the application, including program details and system-related data.

The layout of ExeFS is designed to allow the Nintendo 3DS system to quickly locate executable files and supporting information. It uses a structured format where each file has a defined position and size within the container.

When analyzing Nintendo 3DS software, developers and researchers may extract ExeFS to examine its contents. The executable code can then be processed or converted into formats that are easier to analyze.

Converting ExeFS .code data into ELF format is a common step in software analysis. ELF is a widely used executable format that is easier to inspect with debugging and reverse-engineering tools.

The conversion process does not turn the game into a different application format. Instead, it changes the representation of executable data so that compatible tools can more easily read symbols, sections, and instructions.

Understanding ExeFS structure is important because it reveals how Nintendo 3DS applications store their executable components and how those components connect with the larger NCCH and CIA file structures.

RomFS: Resources, File Ordering, and Path Conventions

RomFS (Read-Only File System) is the part of a Nintendo 3DS title that stores game resources such as textures, models, audio files, scripts, fonts, and configuration data. It acts as the game’s file system, allowing the application to access these assets during gameplay.

Files in RomFS are organized using a structured directory hierarchy with standard folder paths, making it easier for the game to locate resources efficiently. The file order and directory layout are important because some games expect assets to appear in specific locations. When inspecting or modifying RomFS contents, preserving the original folder structure and file names helps maintain compatibility and reduces the risk of loading errors or missing resources during testing.

.CFA (CTR File Archive) and Other Embedded Archives

A .CFA (CTR File Archive) is a Nintendo 3DS content format used to store system-related data rather than playable game content. CFAs commonly contain components such as system applications, firmware modules, fonts, manuals, or shared resources that the operating system uses. Unlike standard game content files, CFAs are primarily intended for system functionality and maintenance.

The Nintendo 3DS also uses other embedded archives and data containers to organize content efficiently. These archives store assets such as textures, audio, executable code, configuration files, and language resources within games or system software. Understanding how these archives are structured helps developers, researchers, and enthusiasts inspect file contents, analyze software components, and better understand the internal organization of Nintendo 3DS titles.

CIA packaging and installation format

CIA, which stands for CTR Importable Archive, is an installation package format used by the Nintendo 3DS system for digital software content. Unlike NCSD images, which represent physical game cartridges, CIA files are designed to store content that can be installed on the console.

CIA packages are commonly associated with digital games, game updates, downloadable content, applications, and system-related titles. They provide a structured way for the Nintendo 3DS to import, verify, and manage software after installation.

A CIA file contains multiple sections that work together to describe the title and provide the required content files. These sections include metadata, content data, and security-related information needed during the installation process.

The main purpose of the CIA format is to package software so the Nintendo 3DS installer can understand it. When a CIA file is installed, the system reads the package information, verifies the required details, and places the content in the correct storage location.

Unlike cartridge-based formats, CIA files are not designed to preserve the original physical game card structure. Instead, they represent an installable version of the software that works with the console’s internal title management system.

The CIA format allows Nintendo to distribute digital content efficiently while keeping important information, such as title details, content records, and authorization data, organized within a single package.

How CIA wraps NCCH contents and installer metadata

A CIA (CTR Importable Archive) is a package format that bundles all the files needed for installation on a Nintendo 3DS. Instead of storing only game data, a CIA contains one or more NCCH files and additional installer information, allowing the system to recognize and install the title correctly.

The installer metadata includes details such as the title ID, version information, certificates, and other data required during installation. When a CIA is installed, the system reads this metadata, verifies the package, and extracts the bundled NCCH contents to their appropriate locations. This packaging method makes CIAs suitable for distributing complete games, updates, DLC, and applications while keeping all required installation components together in a single file.

Ticket, signature and title management in CIAs

Tickets are an important part of the CIA structure because they provide authorization information for installed Nintendo 3DS content. They are used by the system to identify a title and verify that the related content belongs to a recognized software package.

A ticket contains information connected to a specific title, including identifiers that link the installed content with its corresponding software entry. This allows the Nintendo 3DS system to manage installed applications, games, and additional content correctly.

CIA packages also include signature-related information that helps the system verify the authenticity and integrity of the package. Signatures are designed to confirm that the included data matches the expected information and has not been altered.

Title management in CIAs depends on several pieces of information working together. The title ID, ticket, title metadata (TMD), and content files all contribute to how the system identifies and organizes installed software.

The title ID acts as a unique identifier for each piece of software. It allows the console to distinguish between different games, updates, applications, and downloadable content.

The TMD provides details about the title structure, including available content files, versions, and other information required for managing the installation.

Together, the ticket, signatures, and title metadata create a system that allows the Nintendo 3DS to track installed content and maintain proper software organization.

Typical uses: system installs, update packages, homebrew vs retail

Nintendo 3DS file formats vary depending on the type of software. System install packages are used to install games, applications, or system content, while update packages deliver patches, bug fixes, and compatibility improvements for existing titles. These updates modify installed software without requiring a full reinstallation.

It’s also important to distinguish between homebrew and retail software. Retail titles are official games and applications released by Nintendo or licensed developers, whereas homebrew applications are community-created software designed for custom functionality, utilities, or personal projects. Although some file formats are shared between both, they are intended for different use cases and should always be handled with compatible tools and the appropriate system configuration.

Tools and common workflows for inspecting and converting formats

Working with Nintendo 3DS file formats typically involves inspecting file contents, extracting components, and converting files into compatible formats for analysis or development. The process usually begins by identifying the file type, verifying its integrity, and opening it with a trusted inspection tool to view its internal structure.

When conversion is required, users commonly extract the necessary files, make any intended changes, and rebuild the package using compatible utilities. Throughout the workflow, it’s important to keep backups of the original files, use up-to-date tools, and verify the output after each step. Following a careful, step-by-step process helps reduce errors and ensures the converted files remain compatible with the intended software or testing environment.

Recommended tooling for extraction, inspection and repacking

Several specialized tools are commonly used for examining Nintendo 3DS file formats. These tools help users view internal structures, extract content, and manage different package types.

GodMode9

GodMode9 is a powerful file management and analysis tool used directly on Nintendo 3DS systems. It can access storage, inspect installed content, and work with different Nintendo 3DS file formats.

It is commonly used for viewing title information, managing system files, and handling various content structures available on the console.

3DSExplorer

3DSExplorer is a desktop-based tool designed for inspecting Nintendo 3DS file formats. It can display information about NCSD and NCCH structures, allowing users to examine headers, partitions, and internal content.

It is useful for understanding how cartridge images are organized and how different sections connect together.

CTRTool

CTRTool is a command-line utility used for analyzing Nintendo 3DS containers. It can inspect NCSD, NCCH, and other related formats while displaying structural information about the files.

It is often used when detailed technical information about a title container is required.

3dstool

3dstool is a utility designed for extracting and rebuilding Nintendo 3DS content formats. It can work with structures such as NCCH, NCSD, ExeFS, and RomFS.

It is commonly used in development and analysis workflows that involve unpacking and repacking files.

Citra and related development tools

Nintendo 3DS emulation and development environments often provide additional ways to inspect extracted content. These tools can help test file structures and verify whether a title’s data is organized correctly.

A common workflow using these tools involves identifying the container format, extracting the required sections, analyzing files such as ExeFS and RomFS, making permitted changes, and rebuilding the package when necessary.

Each tool has a specific purpose, and choosing the right one depends on whether the goal is simple inspection, content extraction, development testing, or format management.

Step-by-step: extract NCSD → inspect NCCH → view ExeFS/RomFS

Inspecting a Nintendo 3DS game image usually follows a layered process because each format contains different levels of information. The workflow starts with the outer container and moves deeper into the internal components.

The first step is identifying the NCSD container. Cartridge-based images such as .3ds files are usually structured as NCSD containers, which provide the overall layout of the game image.

After opening the NCSD structure, the next step is to examine the partitions within the container. These partitions typically contain NCCH content, which stores the actual software components of the game.

Once the NCCH containers are identified, their internal sections can be inspected. NCCH usually contains important areas such as ExeFS and RomFS, which separate executable data from game resources.

ExeFS inspection focuses on program-related files. It allows users to view executable components, icons, and other files required for launching the application.

RomFS inspection focuses on game resources. It provides access to stored assets such as graphics, audio files, maps, text data, and other content used by the software.

A general inspection workflow follows this structure:

NCSD container → NCCH partitions → ExeFS and RomFS sections → individual files and resources

This layered approach makes it easier to understand how Nintendo 3DS software is organized and helps users analyze different parts of a title without dealing with the entire image at once.

Common conversion tasks (creating CIAs, rebuilding NCCH) and typical errors

One of the most common tasks is creating a CIA file for installation or rebuilding an NCCH file after making changes to game content. These processes require the correct file structure, compatible tools, and properly matched components. Even a small mistake can prevent the file from working as expected.

Common errors include missing or corrupted files, incorrect title information, region mismatches, invalid signatures, or using incompatible tool versions. To avoid these issues, always work from a clean backup, use trusted utilities, and verify your files before testing. Making changes gradually and testing after each step can help you identify and fix problems more easily.

Best practices for safe extraction, modification and testing

Always create a backup of your original files before making any changes. Use trusted tools to extract or inspect file contents, and test modifications on a copy rather than the original data. Keep your software and utilities up to date to ensure compatibility with the latest formats. After making changes, verify that the files load correctly and function as expected in a safe testing environment before using them with your main setup.

Notes on Versioning, Update Files, and System Compatibility

NCCH files contain the core game or application content, while update packages are designed to add patches, bug fixes, new features, or compatibility improvements without replacing the entire title. In most cases, you use NCCH when examining or working with the original game content, and update packages when applying official game updates. Always ensure that update files match the correct game title, region, and system version to avoid compatibility issues or installation errors.

FAQs

What is the difference between NCSD, NCCH, and CIA files?

NCSD, NCCH, and CIA are different layers of the Nintendo 3DS file system. NCSD is a larger container mainly used for cartridge-based game images, while NCCH stores individual content sections such as executable files and game resources. CIA is an installable package format used for digital games, updates, DLC, and applications.

What is NCCH used for in Nintendo 3DS files?

NCCH is used to store specific software components inside Nintendo 3DS titles. It can contain executable data, game resources, metadata, and internal sections such as ExeFS and RomFS.

What is the purpose of ExeFS and RomFS?

ExeFS stores executable-related files required to launch a Nintendo 3DS application. RomFS stores the main game resources, including graphics, audio, maps, text files, and other content used by the software.

Are .3ds and .cci files the same?

Both .3ds and .cci files are based on the NCSD cartridge image format. They generally represent the structure of a physical Nintendo 3DS game card, although the file extensions may be used differently by various tools.

Why are CIA files used for Nintendo 3DS content?

CIA files are designed as installable packages. They allow Nintendo 3DS systems to install and manage digital games, updates, downloadable content, applications, and other software titles.

What information is stored in TMD and tickets?

TMD stores title metadata, including information about the software version, content structure, and title identification. Tickets contain authorization-related information used by the system to manage installed content.

What is the difference between a game image and an installable package?

A game image such as an NCSD-based .3ds file represents the original cartridge structure. A CIA file is an installation package that contains the information needed for the system to install and manage the software.

Conclusion

Understanding Nintendo 3DS file formats such as NCSD, NCCH, and CIA helps you better manage games, updates, and system data on your console. Each format serves a different purpose, from storing complete game cartridges to organizing internal content and installable packages. Knowing how these formats work makes it easier to troubleshoot issues, back up data, and use compatible homebrew tools responsibly.

If you’re customizing your Nintendo 3DS, Luma3DS provides the features needed to safely and efficiently work with many file formats. At Luma3DS, you’ll find detailed guides, setup tutorials, and troubleshooting resources to help you understand Nintendo 3DS file structures and get the most out of your handheld console.

Latest Post