Unofficial guide · Android 3DS emulator
Citra MMJ APK for Android:
Latest Build, Setup and Best Settings
Citra MMJ is an unofficial, performance-focused fork of the Citra Nintendo 3DS emulator for Android, developed by weihuoya and released under the GPLv2 licence. Below you'll find the latest build and which APK variant to pick, how to check the file is genuine, a step-by-step Android setup, and the settings that make games run smoothly. All download buttons go to the developer's GitHub releases page; this site doesn't host APKs or games.
Unofficial fan guide, not affiliated with weihuoya, the Citra team or Nintendo · Latest build: 20251112 (12 November 2025) · Build info checked: · Maintained by the citrammj.com editorial team
Download Citra MMJ (latest build)
The latest Citra MMJ build is 20251112, published on 12 November 2025 on the official weihuoya/citra GitHub releases page. Each release has four APK files. They're the same emulator with different storage locations and package names.
| Variant | File name | Size | SHA-256 | Best for |
|---|---|---|---|---|
| Standard | Citra_MMJ_20251112.apk | 11.6 MB | 00ae1fca3e5831cb383ad64a31cc0e9d4213f89296803ec1b733b5feeb82bba4 | Most people. Start here. Keeps its data in the citra-emu folder on internal storage. |
| Antutu build | Citra_MMJ_20251112_Antutu.apk | 11.6 MB | 58fa3c1e7c2b767c9d572aa4cb9536a940c6cc67e7d15f933a2af3bb0871dabb | Phones that throttle the standard build. Uses the package name com.antutu.ABenchMark, which the developer says can make some phones apply benchmark-level performance. |
| StorageAccess | Citra_MMJ_20251112_StorageAccess.apk | 11.6 MB | 8d524e641fdcf10ab59897f1215350d2a8c7d9928a402c23071af43ff696bde8 | Phones where the standard build can't use the citra-emu folder. Stores data in Android/data/org.citra.emu/files/citra-emu, which is deleted on uninstall. |
| StorageAccess + Antutu | Citra_MMJ_20251112_StorageAccess_Antutu.apk | 11.6 MB | 8776dd7bbf14c01b638d760f203e7a17ae7104916da84b56fd34ef1d06ca77b5 | Both of the above: app-specific storage plus the Antutu package name. |
Official weihuoya/citra GitHub releases · All Citra MMJ builds and version history · How to use the weihuoya GitHub releases page
Which Citra MMJ APK should I download?
Start with the standard APK (Citra_MMJ_20251112.apk). Only switch if you run into one of these problems:
- The app can't create or read its
citra-emufolder: use StorageAccess. It keeps everything inAndroid/data/org.citra.emu/files/citra-emu. Uninstalling it deletes that folder, including games, DLC and saves, so back it up first. - Games start fast and then slow down: try the Antutu build. It's covered in What the Antutu build changes below. It installs as a separate app next to the standard one.
- Both problems: use StorageAccess + Antutu.
Current releases have no separate Vulkan or 32-bit APK. A file sold under either name isn't from weihuoya.
How to check the APK is genuine (SHA-256)
- Download the APK from the GitHub release page above, not from a mirror.
-
Get the file's SHA-256 checksum. On Android, use a file manager or hash-checker app that shows SHA-256.
On a PC, run
certutil -hashfile Citra_MMJ_20251112.apk SHA256(Windows),shasum -a 256 Citra_MMJ_20251112.apk(macOS) orsha256sum Citra_MMJ_20251112.apk(Linux). - Compare it with the table above and with the value GitHub shows next to the file. If a single character differs, delete the file.
What is Citra MMJ?
Citra MMJ is an unofficial Android fork of the Citra Nintendo 3DS emulator, maintained by the developer weihuoya and published as open source under the GPLv2 licence. It's an Android-only app with an OpenGL ES renderer and speed options such as hardware shaders, a shader cache, a CPU usage limit and a speed limit. It also has cheats, local multiplayer rooms, themes and a custom screen layout. The original Citra team doesn't support it.
Mainline Citra was discontinued in March 2024, when its lead developers stopped work as part of Nintendo's settlement with the team behind the yuzu emulator. Independent forks carried on. weihuoya still publishes MMJ builds; the latest is 20251112.
Citra MMJ vs Citra and other forks
| Emulator | Platforms | Renderers | Status |
|---|---|---|---|
| Citra MMJ | Android | OpenGL ES | Latest build 20251112 (12 November 2025) |
| Citra (mainline) | Windows, macOS, Linux, Android | OpenGL, Vulkan | Discontinued March 2024 |
| Azahar | Windows, macOS, Linux, Android | OpenGL, Vulkan | Actively developed; merger of Lime3DS and PabloMK7's Citra fork (release 2126.2, October 2026) |
For Vulkan, online play or a PC version, Azahar is the active option. Citra MMJ is the lightweight Android-only choice. See our Citra MMJ vs Azahar comparison.
Is Citra MMJ safe and legal?
Citra MMJ is safe when it comes from weihuoya's GitHub and its SHA-256 matches the table above. Android warns about every APK installed outside the Play Store. That warning isn't a malware verdict. The real risk is repackaged files from mirror sites.
The emulator itself is open-source software. Games are a separate matter: play copies you dumped from cartridges you own. This site doesn't link to games, ROMs, keys or system files.
How to install Citra MMJ on Android
Citra MMJ needs Android 7.0 or newer (API level 24, the minimum set in its source code). Demanding games need a recent mid-range or better phone.
- Open the 20251112 release on GitHub and download the APK you picked. If you're unsure, take the standard one.
- Check its SHA-256 against the table above.
- Tap the file. When Android asks, allow your browser or file manager to install unknown apps.
- Open Citra MMJ and grant storage access so it can create its
citra-emufolder. - Point it to the folder with your own game dumps (
.3ds,.cci,.cxior.cia) and tap a game to start.
Where your data lives: everything is in the citra-emu folder on internal storage
(or Android/data/org.citra.emu/files/citra-emu on StorageAccess builds). That includes game saves,
cheats, shader caches and amiibo files (citra-emu/amiibo). Back up the whole folder before you
reinstall or switch variants. If a game stops working after an update, the developer suggests resetting
settings first. If that doesn't help, delete
citra-emu/nand/data/00000000000000000000000000000000/sysdata/00010026/00000000/CEC.
For a full walkthrough, see the full Citra MMJ setup guide.
Best Citra MMJ settings
Use these as starting points, then adjust per game. The setting names match the app's Settings screen.
| Setting | Low-end phone | Mid-range | High-end |
|---|---|---|---|
| Internal Resolution | 1× | 2× | 3× |
| Enable Hardware Shader | On | On | On |
| Shader Type | Normal Shader with Cache | Normal Shader with Cache | Normal Shader with Cache |
| Asynchronous Shader Compilation | On | On | On |
| Enable CPU JIT | On | On | On |
| Speed Limit | 100% | 100% | 100% |
| Enable Audio Stretching | On | Off | Off |
If a game shows graphics glitches, turn on Accurate Multiplication (slower). If it's a 2D game with display problems, try turning Enable Hardware Shader off. If a game refuses to boot, turn on New 3DS Mode. More detail is on our best settings page.
Vulkan or OpenGL
Citra MMJ only has an OpenGL ES renderer. Its settings and its source code have no Vulkan option, and there's no separate Vulkan APK. If something promises "Citra MMJ Vulkan", it's describing another emulator or a repackaged file. For Vulkan on Android, use Azahar.
60 FPS patches and cheats
Most 3DS games are capped at 30 FPS. A 60 FPS patch is a cheat code that raises a game's frame-rate cap. Each patch works for one game and one region, and it can break physics or timing. To add one, open the game's menu, choose Cheat Code, paste the code and enable it. Citra MMJ uses the same cheat format as Citra. See our cheat codes page and the 60 FPS patches guide.
What the Antutu build changes
Only the package name: the Antutu build installs as com.antutu.ABenchMark. weihuoya's release notes
say this tricks the operating system into treating it as a benchmark app, which boosts performance on some
devices. It doesn't change how games are emulated. Where the boost works, expect more heat and battery drain.
On many phones it makes no difference. More on the Antutu build page.
Citra MMJ on PC and iPhone
Citra MMJ is Android-only: there's no Windows, macOS or iOS version. On PC, use Azahar, the actively developed 3DS emulator for Windows, macOS and Linux. On iPhone, Azahar publishes an iOS libretro core for libretro front ends. Whether you can install it depends on which apps are available in your region, so check the current iOS options before paying for anything. (Checked 4 November 2026.)
Themes, skins, save states and games
- Themes: Settings → Theme changes the app's look.
- Skins and controls: in a game, use Custom Layout to place the two screens and Edit Buttons/Toggle Controls to move on-screen buttons. Controller Scale and Controller Opacity resize them. To use a Bluetooth or USB gamepad, map it under Input Binding.
- Save states: Citra MMJ doesn't have them. Unlike mainline Citra, its source code has no
save-state feature. Save in-game, and back up the
citra-emufolder. See our save backup guide. - Multiplayer: the Multiplayer menu lets you create or join a room by IP address and port for local wireless games.
- Games: compatibility varies by game and phone. Check our game compatibility guide. This site doesn't offer game downloads.
Citra MMJ FAQs
01 Is this the official Citra MMJ website?
No. citrammj.com is an unofficial fan guide and isn't affiliated with weihuoya, the Citra team or Nintendo. The only official source for Citra MMJ is the developer's GitHub repository, github.com/weihuoya/citra, and every download button on this site goes there.
02 Why does Citra MMJ crash when I open it?
Leftover settings from an older build are the usual cause. The developer's own advice is to reset settings first. If it still crashes, use Delete Shader Cache in settings. If that doesn't help, back up your citra-emu folder and reinstall the same variant. Also check that your phone runs Android 7.0 or newer.
03 How do I fix a black screen when a game starts?
Make sure the game is a decrypted dump of a cartridge you own; Citra-based emulators can't run encrypted files. Then try changing Shader Type, or turning Enable Hardware Shader off. Turn on New 3DS Mode for games that need a New 3DS. If the game worked before an update, delete the CEC folder under citra-emu/nand/data/…/sysdata/00010026/00000000/.
04 My game folder doesn't show up on Android 11 or newer. What do I do?
Android 11 limits which folders apps can read. Grant Citra MMJ full storage access when it asks. If the standard build still can't use its folder, install the StorageAccess variant and move your files into Android/data/org.citra.emu/files/citra-emu. That folder is deleted when you uninstall the app, so keep a backup.
05 Does Citra MMJ support controllers?
Yes. Connect a Bluetooth or USB gamepad that Android recognises, then map each button under Input Binding. You can also hide, move, resize or fade the on-screen buttons with Edit Buttons/Toggle Controls, Controller Scale and Controller Opacity.
06 How do I update Citra MMJ without losing my saves?
Install the new APK of the same variant over the old one; Android keeps the app's data. Moving between the standard build and StorageAccess changes where data is stored, so copy your citra-emu folder across. The Antutu build is a separate app with its own package name, so it doesn't replace the standard one.
07 Why does Android say "unsafe app blocked"?
Google Play Protect warns about apps installed from outside the Play Store, especially ones built for older Android versions. It isn't a malware verdict. Check the APK's SHA-256 against the value on GitHub first. If it matches, you can choose to install anyway; our unsafe app blocked guide has the steps.