Read First!

The below wiki article is based on user submitted content.
Please verify all hyperlinks and terminal commands below!

See a mistake? Want to contribute? Edit this article on Github


Citra – 3DS Emulator and Debugger

GitHub Actions Build Status Bitrise CI Build Status

Citra is an open-source Nintendo 3DS emulator/debugger written in C++.

Citra’s features include better visual output, debugging homebrew, and controller support.

The Citra repositories are hosted on GitHub. Citra is licensed under GPLv2 (or any later version). Refer to the license.txt file included.


You may download a precompiled binary from our website, or you can build it yourself from the source code.

If you are having trouble building Citra from the source code, see this wiki page:

Now, you’ll need to dump the games you want to play with your 3DS.

If you have any save files or extra data on your 3DS that you want to import into Citra, you’ll have to dump them as well.

If you have updates or DLCs on your 3DS that you want to use with Citra, you’ll have to dump them as well.

In order to make some games work, you’ll have to dump some system files from your 3DS.

You can find a reference for Citra’s default keyboard bindings here:

If you have any questions about Citra, first check these pages:

If you don’t see your question answered there, feel free to ask at these places:


If you are interested in contributing to Citra’s code, the first thing you should read is this guide, which will show you what style to code in:

You can find info about the 3DS on these pages:

When you are ready, this page will show you how to use Git to setup your own repository:

Using log filters, you can configure Citra to make development easier.

You can find various Homebrew that test the accuracy of Citra here:

Now that everything is setup, you can take a look at these places to see what needs to be done: