Nintendo 3DS emulation is somewhat possible on Android with an unofficial Citra port

Nintendo 3DS emulation is somewhat possible on Android with an unofficial Citra port

The Nintendo DS is one of the best portable consoles to emulate on Android, and with good reason. The emphasis on touchscreen controls in DS games translates well to smartphone gameplay, and the lack of buttons on Android phones can be rectified by using a Bluetooth or wired gaming controller. I was thinking about this and it got me wondering…what about the Nintendo 3DS? The 3DS is another handheld console with the same traits, and searching on GitHub, I found that there is actually a Nintendo 3DS emulator for Android smartphones. Meet the highly experimental Citra for Android port.

Unofficial Citra for Android is impressive in its own right

What makes this unofficial Citra for Android port so impressive is not that it’s a perfectly functioning emulator without any issues that nobody has discovered. In fact, far from it. It has its issues, it has its bugs, and it’s certainly not even remotely functional for more intensive titles. Having said all of that, some games absolutely work perfectly, or close to perfect, depending on your device. All of those facts contribute to how impressive this emulator is, but one fact takes the cake. Citra for Android is using Dolphin Emulator’s front-end as a GUI, but with the entire back-end of Citra ported behind it.


Emulation doesn’t matter if you can’t play games, right? We tried Fire Emblem Echoes: Shadows of Valentia, though it crashes at the first dialogue of the game. Some Googling found that this is actually an issue with an older version of Citra that this port seems to be based upon, not the port itself. Next up was Luigi’s Mansion, which worked surprisingly well. After that, we tried Super Mario 3D Land, which was nothing short of a mess. Shovel Knight and Crashmo/Pullblox worked perfectly as well, so in short, your mileage may vary. Don’t expect this to run on any smartphone with below a Qualcomm Snapdragon 845. In fact, we tested this using the Xiaomi Mi 9 powered by the Qualcomm Snapdragon 855 mobile platform.

There’s a caveat though, and it’s one that has been a requirement for Citra since its release. 3DS games need to be decrypted before using them in an emulator, and the only way to do that is with an actual hacked Nintendo 3DS. You can dump your own games and decrypt them to use in Citra, but games won’t even be recognized if they’re still encrypted. In my screenshot above, you can see Pokemon Y (EK2A.3ds) is still encrypted. This is because I dumped my cartridge and didn’t decrypt it before copying it over. There is another problem as well that affects some games where to get around it, you need to dump system files from an actual 3DS.

Unofficial Citra for Android game performance

The most important thing that probably matters to you is the performance in games, and for some, it’s… serviceable. Shovel Knight and Crashmo are pretty incredible, Super Mario 3D Land is awful and Luigi’s Mansion and Animal Crossing work. You can take a look at the videos I made below, which should give you an idea of what to expect.

And that’s without even getting into the graphical glitches that occurred in other games as well. Super Mario 3D Land was the worst, followed by Crashmo. Crashmo was at least playable, Super Mario 3D Land didn’t even let you move around the play area. It’s the same story with Fire Emblem, it just crashed in the initial dialogue.

This unofficial Citra for Android port, at this point, is filled to the brim with graphical errors and crashes

For some games, you are required as well to dump the system archives (and system fonts contained in them) to run them. Pokemon X and Pokemon Y are two such games, as they need system fonts that aren’t pre-packaged in the game. It’s not a difficult process, and you can find the guide to do that on Citra’s website here. To decrypt your games you need a Nintendo 3DS anyway, so this shouldn’t be a huge barrier to entry. Take a look at some screenshots of Pokemon Y below. Slower games such as turn-based ones like Pokemon work very well.

Keep in mind, this port of Citra for Android is unofficial

Scouring the Citra forums, many users have asked about this Citra for Android port as they believed it to be official. While the developers of Citra haven’t given support for it (obviously), they have said that they are working with the developer of this port to make an official port to Android devices a reality. Citra’s FAQ says just as much as well, which would explain why the last commit to this project was about two months ago. The developers of Citra have absolutely no hand in the creation of this application, but we’re sharing it as some games do work well. Not only that, but it’s also a glimpse into the future of what’s to come from emulation on Android. The Nintendo 3DS is nearly in a playable state in a program that’s a hacked-together of the PC version of Citra and Dolphin Emulator. That’s a feat in and of itself and shows that development is certainly on the right track to having a working Nintendo 3DS emulator on Android in the future.

Download unofficial Citra for Android portSource Code

About author

Adam Conway
Adam Conway

I'm the senior technical editor at XDA-Developers. I have a BSc in Computer Science from University College Dublin, and I'm a lover of smartphones, cybersecurity, and Counter-Strike. You can contact me at [email protected] My Twitter is @AdamConwayIE and my Instagram is adamc.99.

We are reader supported. External links may earn us a commission.