Last updated: October 2026

Every retail console in the 3DS family can run custom firmware: Old 3DS, Old 3DS XL, 2DS, New 3DS, New 3DS XL and New 2DS XL. For most system versions the process needs no flashcart or soldering, and once it is done the console runs homebrew apps, emulators, save managers and custom themes next to your normal games.

This page is a reference sheet for that process. The method selection, file names, button combos and menu names come from the current 3ds.hacks.guide pages, the Luma3DS, GodMode9 and Universal-Updater repositories, the libretro docs and Nintendo’s SD card support page. It is a summary, not a replacement: keep the guide page open and follow it exactly when you run a method. Nothing here links to games, firmware or keys; the cartridge section covers dumping the games you own.


What You Need

  • An SD card or microSD card, depending on the model. Nintendo’s support page splits it like this:
ModelCard slotAdapter note
Nintendo 3DS, 3DS XL, 2DSFull-size SDNintendo says microSD cards work in these with an SD card adapter
New Nintendo 3DS, New 3DS XL, New 2DS XLmicroSDNo adapter; the card goes straight in

On the New 3DS and New 3DS XL, the Key Information page notes the microSD slot sits under the backplate, so you need a JIS 00 screwdriver to reach it. For full-size SD consoles, the same page says a microSD card in an SD adapter “will work identically.”

  • A card in the right size. Key Information recommends a card between 2 GB and 128 GB. Cards of 200 GB or larger work but are not recommended because of possible DS and GBA graphics issues and custom theme problems. Speed does not matter (the guide says Class 10 is enough), but use a name brand: the guide warns fake cards are very likely to cause data loss. Options:
  • Free space. The FAQ says you need at least 1.5 GB free, and the MSET9 troubleshooting page recommends at least 1.3 GB for the NAND backup made later.
  • A computer or phone that can read and write the SD card. MSET9 has separate pages for Windows, macOS, Linux and SteamOS (MSET9 CLI), Android and ChromeOS (MSET9 Play Store), and iPhone and iPad (MSET9 CLI iOS). The CLI page needs any Python 3.x, but not the Microsoft Store version on Windows.

Only use one card per console. Key Information warns that the contents of two cards cannot be merged later.


Step 1: Check for CFW, System Version and Model

The Get Started page opens with a check for existing custom firmware:

  1. Power off the console with the SD card inserted.
  2. Hold SELECT and power on while still holding it.
  3. If it boots straight to the HOME Menu, you have no CFW. Continue.
  4. If you see the Luma3DS configuration screen, or a menu such as GodMode9 or Decrypt9WIP, custom firmware is already installed. Go to the guide’s Checking for CFW page instead of starting over.

If the console says it could not detect an SD card, format the card first (Step 2 below).

Then read your version: open System Settings and look at the bottom right of the top screen. The guide’s example reads Ver. 11.17.0-50U. Enter it on the Get Started page and pick your model: Old 3DS/2DS or New 3DS/2DS (the New 2DS XL is a New model).


Step 2: Format the SD Card

Key Information is specific: the card must be FAT32 with an MBR partition table. Cards of 32 GB or smaller usually ship formatted this way. Larger cards must be formatted manually.

PlatformTool the guide namesSettings
Windowsguiformat (run guiformat.exe)Allocation unit size 32768 for 64 GB cards, 65536 for cards larger than 64 GB, Quick Format checked
macOS (10.11 El Capitan and later)Disk UtilityView, Show All Devices, select the card, Erase, Format “MS-DOS (FAT)”, Scheme “Master Boot Record”
LinuxThe guide has its own Linux formatting pageFollow that page

On Windows, check the drive letter twice before clicking Start; a wrong letter erases a different drive. Back up the card first, especially the Nintendo 3DS folder.

Checking the card’s health. The guide’s post-install troubleshooting page names the test tools to use when a card is suspect: H2testw on Windows, F3 on Linux and f3xswift on macOS. If the test marks the card as faulty, the page says to replace it.


Step 3: Use the Method the Guide Selects

The Get Started page picks the method for you from your model and version. Its selection script checks these exploits in order and sends you to the first one that fits:

MethodSystem versionsRegionsModels
Soundhax1.0 to 11.3AllAll
SSLoth-Browser11.4 to 11.13 (matching number after the dash only)USA, EUR, KOR (noted as broken on JPN as of April 2026)All
safecerthax11.4 to 11.14AllOld 3DS family only
super-skaterhax11.15 to 11.17USA, EUR, KOR (noted as broken on JPN as of April 2026)New 3DS family only
MSET911.4 to 11.17AllAll

Two alternate methods work on every version but need extra hardware: ntrboot (a compatible DS flashcart) and the hardmod (soldering).

What MSET9 Involves

MSET9 covers 11.4 and later on any model and region. On the CLI page, you copy everything from the latest MSET9 release .zip to the SD root, add Luma3DS’s boot.firm from the Luma3DSvX.X.X.zip release, and run the MSET9 script with the number for your model and version. Its numbered options create the MSET9 ID1, check status, inject MSET9, remove the trigger file and remove MSET9. On the console you visit System Settings, Data Management, Nintendo 3DS, Extra Data and Mii Maker when the page says to. boot9strap is installed through MSET9 as part of the process.

Three warnings from the page: user data and installed apps temporarily disappear from the HOME Menu during the process, and the guide says this is expected. Do not press any buttons or touch the screen while the Extra Data menu is open and the card is reinserted. And do not skip the final cleanup section, or apps may crash on the next page.


Step 4: Finalizing Setup

Every method ends at Finalizing Setup, which updates the system, sets the clock, dumps the sound firmware, installs starter homebrew and backs up the NAND.

Files: x_finalize_helper.firm goes in /luma/payloads/ (create the payloads folder if needed) and finalize.romfs goes on the SD root.

The steps, in order:

  1. Update the system through System Settings, Other Settings, System Update. The guide says updates with boot9strap and Luma are safe.
  2. Open the Rosalina menu with L + D-Pad Down + SELECT. Go to “Miscellaneous options”, choose “Dump DSP firmware”, then “Nullify user time offset”. The DSP dump is needed for sound in some homebrew.
  3. Power off, then hold X while powering on to launch the Finalizing Setup Helper, which boots into GodMode9.
  4. In GodMode9, accept the essential files backup prompt and fix the RTC date and time if asked.
  5. At [root], press HOME, select “Scripts…” (not Lua scripts), then “finalize”. Follow the prompts. If you see “Information #05: No title database”, press A and enter the key combo shown.
  6. Wait for “Setup complete!” then press A to power off. If that message never appears, redo the script.

The script installs FBI, Homebrew Launcher Loader, Anemone3DS, Checkpoint, ftpd, Universal-Updater and GodMode9. Anything except GodMode9 can be removed afterward from System Settings, Data Management, Nintendo 3DS, Software.


What Luma3DS and GodMode9 Actually Do

ToolWhat it isHow to open it
boot9strapThe custom firmware loader. It loads boot.firm from the SD card or internal memoryRuns at every boot
Luma3DS (current release v13.4)The custom firmware itself. It patches the system to run homebrew and adds the Rosalina overlay, game plugins, per-game language overrides and LayeredFSHold SELECT on boot for the configuration menu; L + Down + SELECT in 3DS mode for Rosalina
GodMode9 (current release v2.2.3)A full access file browser for the SD card, the NAND partitions and game cartridges. Used for backups, dumps and scriptsHold START on boot

Luma’s README lists what Rosalina covers: in-game screenshots, screen filters, input redirection, cheat codes and network clock sync. Holding START on boot technically opens Luma’s chainloader; with GodMode9 as the only payload in /luma/payloads/, it launches directly.

GodMode9’s README warns it can modify basically any system data. Write permission levels and unlock sequences guard against accidents, and it says never to unlock the red level unless you know exactly what you are doing.


Step 5: Keep Your NAND Backup Safe

The finalize script writes the backups to /gm9/backups/ on the SD card. Finalizing Setup says to copy that whole folder to your computer and, ideally, a second place such as cloud storage.

  • The two SysNAND files are your NAND backup. They can restore a console bricked by a software problem.
  • essential.exefs holds your console’s system-unique files and can help recover data after a hardware failure. It is small and can stay on the card.

After copying, delete the two SysNAND files from the SD card.

Making a fresh backup later. The GodMode9 Usage page gives the manual route: hold START on boot, press HOME, then “Scripts…”, “GM9Megascript”, “Backup Options”, “SysNAND Backup”. This writes <date>_<serialnumber>_sysnand_##.bin and a .bin.sha file to /gm9/out/. Copy both off the card with essential.exefs, then delete the .bin and .bin.sha from the card.

Restoring uses “Restore Options”, “SysNAND Restore (safe)” in the same script with the .bin back in /gm9/out/. The page notes it does not overwrite boot9strap.


Legit Homebrew to Install First

Homebrew Launcher. This runs apps in the 3DSX format. Finalizing Setup installs Homebrew Launcher Loader to open it from the HOME Menu, and the Luma3DS release ships the homebrew menu (boot.3dsx) with it. The troubleshooting page notes the Homebrew Launcher needs both boot.3dsx and boot.firm on the SD root.

Universal-Updater (current release v3.4.1). An on-device app store for homebrew over Wi-Fi. Its default store is Universal-DB, which sorts 3DS apps into categories such as Games, Emulators, Utilities and Save Tools. Since v3.4.0 it also tracks which apps are installed.

The rest of the starter set:

AppWhat it does (per the guide or Universal-DB)
CheckpointSave data manager for 3DS and DS games. Back up saves before experimenting
Anemone3DSInstalls custom themes, boot splashes and badges
ftpdFTP server, so a PC can reach the SD card over Wi-Fi without opening the console

RetroArch for 3DS. Listed in Universal-DB; the libretro docs cover the manual route. Download RetroArch_3dsx.7z or RetroArch_cia.7z from the libretro buildbot (the docs point at stable 1.22.2, or a dated nightly), extract the RetroArch folder to the SD root, and the cores live in /RetroArch/Cores. For the CIA bundle, the docs say to install the core .cia files you need from that folder with FBI. With every core in the default folder, the docs say startup takes nearly 30 seconds; moving unused cores to a folder such as /RetroArch/Cores-Notused cuts it to about 5 seconds. For menus, cores and settings, the RetroArch setup guide applies to the 3DS build too.

Original homebrew games. Universal-DB’s Games category is full of new, free games written for the 3DS. A few from the current listing: Quick Burgar (cook burgers against a time limit), Cosmic Drift (an arcade-style drifting space shooter) and Cube Adventures (a simple 2D platformer). For homebrew on other systems, see the best homebrew games list.


Dump Your Own Cartridges with GodMode9

GodMode9 can copy the game cards you own to the SD card. The Dumping Titles and Game Cartridges page gives these steps:

  1. Insert the cartridge before powering on.
  2. Hold START and power on to launch GodMode9.
  3. Open [C:] GAMECART.
  4. Press A on <TitleID>.trim.3ds for a 3DS cartridge, or <TitleID>.nds for a DS cartridge.
  5. Choose “Copy to 0:/gm9/out”.
  6. The dump lands in /gm9/out/ on the SD card.

The page notes trimmed dumps are not recommended for DS games because they can cause playback problems, and that only 3DS games (not DS cartridges) can be installed to the system. To play DS dumps in melonDS, see the DS BIOS and firmware guide. For your 3DS dumps on PC or Android, the best 3DS emulator guide covers Azahar and the current options.


Common Errors and Fixes

These come from the guide’s MSET9 and post-install troubleshooting pages.

Error or symptomWhat the guide says
“Error 01: Couldn’t find Nintendo 3DS folder”Run MSET9 from the SD root and confirm the Nintendo 3DS folder exists. If it does, reformat and restart Section I
“Error 02: Your SD is write protected”Slide the card’s lock switch up, or eject and reinsert it
“Error 07: One or more files are missing or malformed!”Re-download the MSET9 .zip and extract it to the SD root, replacing everything
Red screen after reinserting the SD cardCopy SafeB9S.bin from the MSET9 zip to the SD root, then follow the page’s trigger file removal steps
“An exception occurred” after triggering MSET9CFW is probably already installed; follow Checking for CFW
Console powers off with a white, magenta or red LEDA boot.firm problem. Put the latest Luma3DS boot.firm on the SD root, extracted without WinRAR
HOME Menu missing installed appsHold SELECT on boot. If the yellow text says “Booted from CTRNAND via B9S”, the card is not being read: reseat it, replace boot.firm, reformat, then test it with H2testw, F3 or f3xswift
Blue “BOOTROM ERROR” screenWait five minutes in case it is a splash screen. Otherwise the guide says it likely needs ntrboot; get help on the Nintendo Homebrew Discord

FAQ

Can I still update the system after installing CFW?

Yes. The FAQ says system updates work as on an unmodified console, but it is a good idea to wait a couple of hours after a new update is released, because past updates have briefly broken Luma3DS.

Can Nintendo ban a console with custom firmware?

According to the FAQ, bans are no longer possible because Nintendo Network services have been shut down for everyone. Replacement services such as Pretendo exist but are a work in progress.

Does the eShop still work?

The FAQ says you can continue to download game updates from the Nintendo eShop, even though the eShop itself has shut down.

Does this work on a 2DS or New 2DS XL?

Yes. The guide covers all retail 3DS family devices.

Do I need to format a 64 GB or 128 GB card?

Yes. Cards over 32 GB must be formatted to FAT32 with MBR manually; on Windows, guiformat with 32768 for 64 GB or 65536 for larger cards.

Can I play games from other regions?

The FAQ says Luma3DS automatically ignores the region check for cartridges and installed titles. Some games may also need locale emulation.

Is uninstalling CFW safe?

The guide has an Uninstall CFW page. The FAQ warns that uninstalling while the console is in an unbootable state is very likely to brick it, so fix any boot problem first.


Sources for this page: 3ds.hacks.guide (Get Started and its method selection script, Key Information, Installing boot9strap (MSET9) and (MSET9 CLI), Formatting SD for Windows and macOS, Finalizing Setup, GodMode9 Usage, Dumping Titles and Game Cartridges, FAQ, MSET9 and post-install troubleshooting), the Luma3DS, GodMode9 and Universal-Updater GitHub repositories and release notes, Universal-DB, the libretro docs page for installing RetroArch on 3DS and 2DS, and Nintendo Support’s SD and microSD compatibility page.

Last verified: October 2026