Citra
| Developer(s) | Tropic Haze LLC Citra Team |
|---|---|
| Last version | Nightly 2104 Canary 2798 |
| Fate | Discontinued (archived) |
| Platform(s) | Windows Linux Android macOS |
| Architecture(s) | x86_64, ARM64 |
| Emulates | Nintendo 3DS |
| Compatibility | Compatibility list (archived) |
| Website | citra-emu.org (archived) |
| Programmed in | C++ |
| License | GPLv2 |
| Source code | GitHub (mirror) |
| BIOS/Keys | Required |
- For other software that emulates the 3DS, see Nintendo 3DS emulators.
Citra (formerly Akiru) is a discontinued free and open-source Nintendo 3DS emulator/debugger written in C++. It is also available as a libretro core. The emulator is no longer active. See active forks of Citra for other options.
Download
- We do not recommend using Citra anymore. Instead, we recommend using active forks of Citra.
| Latest Archived Builds Latest Archived Nightly (2104) Latest Archived Canary (2798) |
If you decide to install it from the archived link, the updater tries to fetch for updates and can't fetch any due to it shutting down forcing you to quit the setup. However, you can download Citra from "Manual Installation" section and you can download and use Citra as usual.
System requirements
See Computer specifications#Citra
History
Citra emulates a subset of 3DS hardware and therefore is useful for running/debugging homebrew applications, and it is also able to run many commercial games. Some of these do not run at a playable state. On May 23, 2020, a official Android release for Citra came out. The minimum requirements are Android 8 (64-bit) and OpenGL ES 3.2 support. Since 15th September 2023, Citra has also added support for Vulkan, resulting in improved performance in a number of scenarios. Many games achieve playable framerates on a variety of hardware, though the developers recommend an Android device with a Snapdragon 835 chip or better.
Lawsuit
See Yuzu#Lawsuit.
Shared data
Some 3DS games make use of shared files from the console's system software. These games will not boot in Citra if said files are not present in the user folder.
These files are not provided by the Citra developers for legal reasons, so they can be downloaded from the Emulator Files page.
Importing saves
Some games require this to bypass bugs in title screens.
- Get the Title ID for the game version you have from here. For example, we'll try with the European version of Zelda: ALBW. Its full Title ID is
00040000000EC400. - Take the last 8 digits of the Title ID. (in our example,
000EC400) In case this method fails later, take00000000instead, or make sure the save file and the ROM image are from the same region. - Make an empty folder named as that partial Title ID (
000EC400). Put inside it another folder named "data", then inside that one put another folder named00000001, then inside that one put the actual save data files. - Move the folder with the title ID and put it here:
\user\sdmc\Nintendo 3DS\00000000000000000000000000000000\00000000000000000000000000000000\title\00040000
Issues
Emulation issues
Emulation for various features is non-existent or not actively worked on enough to be in a usable state. This includes:
- Connectivity features relying on Wi-Fi (Wii U/3DS, Switch/3DS, 3DS Local Multiplayer, 3DS Online...), not in small part due to the setbacks hindering Wi-Fi DS emulation. However, Download Play is emulated.
- New 3DS mode. It is now in a playable state, but some games may still crash with it enabled.
Game image format
Citra accepts games in .3ds, .cia or .cxi format. Furthermore, in Summer 2017, chances are your existing dumps tailor-made for Citra most probably made with the officially recommended tool braindump, which were missing some data yet could be emulated on Citra, have had their compatibility broken as a design choice with no options provided to fix those dumps. You'll have to get new dumps.
While the latest sighax exploit allows for dumping decryption keys to convert (and possibly load) encrypted games in either .3ds or .cia format, development for a solution to allow for this Citra, even one requiring keys from your console, was formerly not actively pursued as a design choice. Tools on 3DS and PC exist to convert those to decrypted .3ds format, and a guide can be found here. However, Citra now allows loading/installing encrypted 3ds/CIA files if the necessary AES keys are provided. The required keys are provided with the 3DS Shared Data downloadable above.
Telemetry
Citra developers decided to implement a telemetry feature, uploading to them through Internet connection detailed logs and data about your computer specs and the games you're playing. When booting Citra for the first time, you get asked if you want to enable it.
macOS compatibility
Although macOS support in Citra is still poor, macOS builds have returned to Citra Canary 2485 and newer thanks to the addition of the new Vulkan renderer. Previously, macOS builds were discontinued after build 1782 due to the developers raising the OpenGL requirements to version 4.3, while macOS only supports up to version 4.1. The new Vulkan renderer addresses this by utilizing the MoltenVK translation layer instead of OpenGL, enabling compatibility with macOS systems. Additionally, these latest builds are Universal and have native support for both Intel and Apple Silicon.
Forks
| Name | Platform(s) | Latest version(s) | New 3DS | Hardware features and peripherals |
Enhancements | Compatibility | License | Active | Recommended |
|---|---|---|---|---|---|---|---|---|---|
| x86 | |||||||||
| Azahar | 2126.1.1 | ✓ | ~ | ~ | 91.67% 11 out of 12 reported titles |
GPLv2 (Copyleft) | ✓ | ✓ | |
| Borked3DS | v2025.03.11 | ✓ | ~ | ~ | ? | GPLv2 (Copyleft) | ✗ | ~ | |
| Mandarine | 1.3.0 | ✓ | ~ | ~ | ? | GPLv2 (Copyleft) | ✗ | ✗ | |
| PabloMK7 fork | r608383e | ✓ | ~ | ~ | ? | GPLv2 (Copyleft) | ✗ | ✗ | |
| Lime3DS | 2119.1 | ✓ | ~ | ~ | ? | GPLv2 (Copyleft) | ✗ | ✗ | |
| ARM64 | |||||||||
| Azahar | 2126.1.1 | ✓ | ~ | ~ | 91.67% 11 out of 12 reported titles |
GPLv2 (Copyleft) | ✓ | ✓ | |
| Folium (Cytrus) |
App Store ($) 2.0 |
✓ | ~ | ~ | ? | GPLv3 (Copyleft) | ✓ | ✓ | |
| Borked3DS | v2025.03.11 | ✓ | ~ | ~ | ? | GPLv2 (Copyleft) | ✗ | ~ | |
| Citra MMJ | git | ✓ | ~ | ~ | ? | GPLv2 (Copyleft)[N 1] | ~[N 2] | ~[N 3] | |
| Mandarine | 1.3.0 | ✓ | ~ | ~ | ? | GPLv2 (Copyleft) | ✗ | ✗ | |
| PabloMK7 fork | r608383e | ✓ | ~ | ~ | ? | GPLv2 (Copyleft) | ✗ | ✗ | |
| Lime3DS | 2119.1 | ✓ | ~ | ~ | ? | GPLv2 (Copyleft) | ✗ | ✗ | |
| Developer(s) | OpenSauce, PabloMK7, and other contributors |
|---|---|
| Latest version | 2126.1.1 |
| Active | Yes |
| Platform(s) | Windows Linux macOS Android |
| Emulates | Nintendo 3DS |
| Programmed in | C++ |
| License | GPLv2 |
| Source code | GitHub |
| BIOS/Keys | Required for some games |
| Developer(s) | rtiangha |
|---|---|
| Latest version | v2025.03.11 |
| Active | Yes |
| Platform(s) | Windows Linux macOS Android |
| Emulates | Nintendo 3DS |
| Programmed in | C++ |
| License | GPLv2 |
| Source code | GitHub |
| BIOS/Keys | Required for some games and decryption |
- Azahar
- A merger of the PabloMK7 and Lime3DS Citra forks by the same developers, meant to merge added features of both to make a definitive emulator. Certain changes were made out of legal considerations, such as ending support for encrypted games, renaming the .3ds file format to its official file extension, .cci, and removing the ability to download system files directly from Nintendo's CDN, which has been replaced by the Artic Setup Tool: a homebrew application that copies system files from a real 3DS unit to Azahar. Cryptographic keys are now included in the emulator directly.[1] Azahar also includes new features not present in other Citra forks, such as the ability to download owned games from the Nintendo eShop, a new compression file format called Z3DS with a built-in converter,[2] an optional "Disable Right Eye Rendering" hack which can improve performance up to 50% when used in 2D, and other quality-of-life upgrades over Citra. Libretro core is WIP.
- Borked3DS
- A rebrand and continuation of the Bravely Offline Citra fork. The developers consider it to be an "experimental" or "sandbox" fork that may be unstable at times. It has all of the latest features from PabloMK7's Citra fork, most features from Lime3DS, and some hacks and features from Mandarine. It also has its own unique features, such as feature parity in the Android version, UI improvements for desktop and Android, and support for the Skylanders IR portal on desktop. It is not very active anymore, so users should use Azahar unless any Borked3DS-specific features are needed.
- PabloMK7 fork
- A Citra fork written in C++ and initially created to add online play,[3] but continued to receive new updates and other new features following the end of support for upstream Citra. PabloMK7 was a contributor of Citra, and the repository has also seen work from other active Citra contributors such as GPUCode, who was among the most active contributors before the repository was deleted. Being a fork of Citra, the emulator emulates a subset of 3DS hardware and therefore is useful for running/debugging homebrew applications; it is also able to run many commercial games. Some of these do not run in a playable state. On May 5, 2024, PabloMK7 announced an upcoming feature known as Artic Base,[4] released on May 12, 2024.[5] Artic Base is a 3DS homebrew app that can stream game data from the 3DS system to an instance of Citra over the local network, allowing users to play their own games on Citra without having to dump them. Artic Base can also sync save data between the 3DS and Citra. Development of the fork ceased on October 29, 2024, pending a merger with Lime3DS (which had also ceased development). The resulting Citra fork would later come to be known as Azahar.[6]
- Lime3DS
- A Citra fork. The main goal of the project was to act as a revival of Citra.[7] Much like its predecessor, Lime3DS is mainly written in C++. Development for Lime3DS began on the same day as Citra's closure, March 4, 2024. Unlike some other forks appearing at this time, the developers for Lime3DS intended to separate their branding from that of Citra and create a separate successor. The emulator had been steadily updated since then, boasting high compatibility and stability for many 3DS titles. Development ceased in November 2024, pending a merger with the PabloMK7 Citra fork (which had also ceased development). The resulting Citra fork would later come to be known as Azahar.[6]
- Folium
- A Citra port to iOS/iPadOS devices developed by Jarrod Norwell. Previously known as emuThreeDS and Limón. Now continued as a multi emulator named Folium. Cytrus is the Nintendo 3DS emulation core used in Folium.[1]
- Mandarine
- A Citra fork. It was originally named "Citra-Enhanced." Development ceased temporarily in March 2024 due to the stoppage of Citra development. Afterward, the project changed its name to Lemonade[8] and shifted its focus to the Android platform while planning to add new features and enhancements. However, due to critique stemming from Lemonade's developers alleged stealing of code from other forks, violation of Citra's GPLv2 license, and berating of developers of other forks,[9] much of the team has since abandoned the project.[10] The fork was thereafter renamed back to Citra-Enhanced, before then renaming again to Mandarine after an alleged repository hijack attempt.[11]
- Citra MMJ
- Citra MMJ is a Citra fork for Android written by weihuoya. Compared to the more recent Azahar merger and the previous forks on Android, and depending on chipset used in the Android device, Citra MMJ may offer better performance and compatibility especially with Mali GPU devices or other mid-end chipsets that may be too slow for Azahar, or if games tend to crash in Azahar. Citra MMJ also has some features that Azahar and previous forks for Android didn't have, such as per game settings and dual-screen support for 2-screen Android handhelds and external displays (Azahar also has dual-screen support since v2123), but it does not yet support zstandard compressed games that Azahar introduced in v2123. Also note that not all of the code distributed in Citra MMJ binaries is included in the source code repository on GitHub, meaning there is less transparency for users who want to know what code is being run on their systems and less openness for external developers who may wish to contribute. This may also violate the emulator's GPLv2 license, which stipulates that source code must be available to anyone who can obtain a binary.
References
- ↑ Game Loading on Azahar: What's Changing (December 12, 2024)
- ↑ Support for compressed 3DS backups is here! How to free up space in your 3DS game library. (August 1, 2025)
- ↑ https://twitter.com/Pablomf6/status/1719705943028449372
- ↑ https://twitter.com/Pablomf6/status/1787246255002853480
- ↑ https://github.com/PabloMK7/ArticBaseServer
- ↑ 6.0 6.1 https://azahar-emu.org
- ↑ https://github.com/Lime3DS#lime3ds-is-a-project-which-aims-to-revive-citra-the-most-popular-open-source-nintendo-3ds-emulator
- ↑ https://old.reddit.com/r/EmulationOnAndroid/comments/1bbos29/citraenhanced_is_going_to_be_continued_and/
- ↑ https://web.archive.org/web/20240411140255/https://twitter.com/Pablomf6/status/1778376166098825515
- ↑ https://github.com/Lemonade-emu/Lemonade/pull/2/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R16
- ↑ https://github.com/mandarine3ds/mandarine/commit/ad06b079df3641e1f4086278ef93a65c204d245c#contribution
External links
- Official Website (archived)
- - Blog/entries
- - Help
- - FAQ(s)
- - Game Compatibility List
- - Wiki(s)
- - Screenshots