User Directory Overview
The user directory in Citra can be accessed through the “Open Citra Folder” option within the application. Depending on the operating system, the directory path varies:
- On any system, if a folder named “user” exists in the same location as the Citra executable, it will override the default directory and be used instead.
- Windows: The path is
C:/Users/[your-user-name]/AppData/Roaming/Citra/
. TheAppData
folder is hidden by default, so you may need to enable hidden files to view it. - Older Citra Versions: Previously, the user directory was stored in a folder named “user” within the same directory as the Citra executable.
- Linux: Running
echo $XDG_DATA_HOME
in the terminal will display the user-specific data directory. If this variable is unset, the default location is~/.local/share/citra-emu/
. Additionally, configuration files are stored in~/.config/citra-emu/
, unless overridden byecho $XDG_CONFIG_HOME
. - Flatpak Installation: The user directory is found at
~/.var/app/org.citra_emu.citra/data/citra-emu/
, while configuration files are located at~/.var/app/org.citra_emu.citra/config/
. - macOS: The directory is located at
~/Library/Application Support/Citra/
. - Legacy macOS Versions (pre-2023): Previously, macOS used the same directory structure as Linux. If an older directory still exists, Citra may use it for backward compatibility.
Within the user directory, you will find several subdirectories, including config
, nand
, and sdmc
. Each serves a distinct purpose.
Diagram of Citra’s User Directory
"User directory"
├── config
├── nand
│ ├── 00000000000000000000000000000000 (optional)
│ └── data
│ ├── sysdata
│ └── extdata
├── sdmc
│ └── Nintendo 3DS
│ ├── 00000000000000000000000000000000
│ | └── 00000000000000000000000000000000
│ | ├── title
│ | └── extdata
│ └── Private
└── sysdata (optional)
└── aes_keys.txt (optional)
└── seeddb.bin (optional)
Extracting Files from a 3DS
This guide provides instructions on how to extract files from a Nintendo 3DS to integrate with Citra. While these files are not required for basic functionality, certain games may require specific data to run properly.
To extract files, you will need an SD card reader or a method for wirelessly transferring files from your 3DS to your computer. Additionally, the 3DS must have Homebrew Launcher access. Advanced users may also need custom firmware and Decrypt9WIP.
For specific guides, refer to:
- Extracting System Archives and Shared Fonts
- Extracting Config Savegame
- Extracting Save Data and Extra Data
Config Directory
This folder contains configuration files that control Citra’s behavior. These are stored in plain text and can be manually edited, though incorrect modifications may cause errors or malfunctions. Key settings include:
- Control mapping
- CPU and audio settings
- Graphics and rendering options
- Region settings
- Virtual SD card insertion
If Citra fails to launch after editing a config file, deleting the config directory will force Citra to regenerate default settings upon restart.
Log Directory
This folder houses citra_log.txt
, a file that stores logging information. It is automatically overwritten each time Citra is launched.
NAND Directory
This directory emulates the internal NAND storage of a 3DS. While it does not exactly match a real 3DS’s NAND structure, it contains necessary system files, including:
data
: Stores system and extra data.sysdata
: Contains system save data, indexed by title ID.
Some games require a 3DS’s config savegame to run. Instructions for obtaining this data are available in the “Extracting Config Savegame” guide.
Extra Data (extdata)
This directory contains additional game-related data. The structure includes:
- A
00048000
folder (or in some cases, a00000000
folder, which should be removed if both exist). - Folders named
F000000#
corresponding to extra data title IDs.
Data can be extracted using a save manager like JKSM and manually placed in this directory. However, most NAND extra data is not required for Citra to function.
System Archives Directory
This directory, named 00000000000000000000000000000000
, appears only if system archives have been dumped from a physical 3DS. These archives are necessary for certain games to function. Follow the “Extracting System Archives and Shared Fonts” guide to retrieve them.
SDMC Directory
The sdmc
folder emulates an SD card and stores:
- Game saves
- Extra data
- Installed titles (encrypted)
Inside sdmc
, you will find:
Nintendo 3DS
: Main storage directoryPrivate
: Stores camera and audio data00000000000000000000000000000000
: Houses game save files and extra data
Game Save Data
Save files are stored in:
sdmc/Nintendo 3DS/00000000000000000000000000000000/title/00040000/
Save data can be transferred from a real 3DS to Citra by following the “Extracting Save Data” guide. Additionally, Citra can load decrypted game backups directly from the filesystem.
Game Updates and DLC
On a real SD card, updates and DLC are stored in 0004000e
(updates) and 0004008c
(DLC). These files can be backed up and installed in Citra as decrypted CIA files using GodMode9.
Other SD Card Folders
Citra does not require certain folders found on real 3DS SD cards, such as:
dbs
: Holds the 3DS title databasebackups
: Stores Home Menu backup dataNintendo DSiWare
: Contains DSiWare exports
These folders are unnecessary for Citra and can be ignored.
System Files
shared_font.bin
: Legacy system font data (deprecated, replaced by an open-source alternative).aes_keys.txt
: Contains decryption keys for various features.seeddb.bin
: Used for seed crypto operations.
This guide provides a structured overview of Citra’s directory system and data management, ensuring smooth operation and compatibility with various games.