TomeMobile  /  Switch Games

nx2android

27 Switch Games on Android, With FPS & Port Steps

NEO: The World Ends with You at Shibuya's Scramble Crossing, one of the titles nx2android ships a profile for
NEO: The World Ends with You, one of the titles nx2android ships a profile for. The screenshots on this page come from that project's own repository, so nothing here implies support for a game it does not list.

27 Switch games are ported to Android, all of them in the current release. Check your GPU first: Adreno and Xclipse work, Mali and PowerVR do not. If yours passes, a desktop app — Windows, or an Apple-silicon Mac — turns your own game files into an APK. No Mac required, no Xcode.

Download the porterPlaying Diablo II instead?

The short answer

Yes, and it is the least Apple-dependent route in this category. A desktop app — Windows, or an Apple-silicon Mac since v0.2.0 — takes your own game files and produces an APK plus its data folder. You pick the game's folder, click Port, and install. No Mac required, no Xcode, no $1,000 phone.

27 Switch games are ported, and all 27 work on the current release. Every frame rate below was measured on a Lenovo Legion Y700 (Snapdragon 8 Elite, Adreno 830) — a 2023 tablet, not a flagship phone from next year.

Two things decide whether you can join them: your GPU (Adreno or Xclipse, not Mali or PowerVR), and your own game dump plus prod.keys. Neither is negotiable, and neither is something we will help you obtain.

The GPU wall — check this before anything else

Switch games store their textures in BC-compressed formats. A GPU without a path for those formats cannot run the game, whatever you install. This single fact rules out most of the Android market.

GPU familyWorks?Usually found in
Adreno (700 series and up)YesQualcomm Snapdragon phones and tablets — most flagship and upper mid-range devices
Adreno 619 and similar (Vulkan 1.1 drivers)Yes, since v0.2.0Older and budget Snapdragon chips — slower, but the release added a path for drivers without timeline semaphores or BC textures
XclipseYesSamsung Exynos chips with AMD RDNA graphics (Galaxy S series in some regions)
MaliNoMost MediaTek / Dimensity phones, many Exynos and Kirin devices
PowerVRNoOlder and budget chipsets

A 2026 MediaTek flagship can cost more than a Snapdragon mid-ranger and still be unable to run a single game. The limit is the texture format, not the benchmark score.

The 27 ported games, with what each needs and how it runs

All 27 are in the download you can get today — the two that were tagged for "the next release" through October, Tears of the Kingdom and Pokémon Legends: Z-A, shipped in v0.3.0 on 5 November. Every frame rate is the project's own measurement on that Legion Y700, not ours. "Update" is the game version the port expects — the update NSP's display version has to match, or the build says so.

Playable on the current release (v0.3.0) — 27 games

GameUpdate neededFrame rateNotes
13 Sentinels: Aegis Rim1.1060 fps—
Advance Wars 1+2: Re-Boot Campbase 1.0.060 fpsThe Switch itself runs battles at 30
Blasphemous 21.0.860 fps—
Captain Toad: Treasure Tracker1.4.260 fps—
Castlevania: Belmont's Curse1.1.060 fpsNew in v0.2.0
Celeste1.4.1.160 fps—
Donkey Kong Country Returns HD1.1.060 fps—
Graveyard Keeper 21.0.4 + DLC60 fpsThe Switch runs it at 30
Hades II1.060 fps—
Hollow Knight: Silksong1.0.3000060 fps—
Mario vs. Donkey Kong1.0.160 fps—
Metroid Dread2.1.060 fpsNew in v0.2.0
NEO: The World Ends with You1.03 + 2 DLCplayableNo frame rate published
Paper Mario: The Origami King1.0.160 fpsThe Switch runs it at 30
Paper Mario: The Thousand-Year Door1.0.160 fpsWork in progress: the lighting flickers — walls go black for single frames after a fall
Pokémon Legends: Arceus1.1.160 fpsThe Switch runs it at 30
Pokémon Legends: Z-A2.0.230 fps30 fps, as on the Switch. Tested to Lumiose station — the city and battles are not checked yet
Super Mario Bros. Wonder1.2.160 fps, dips to 40—
Super Mario Odyssey1.4.160 fpsShake the device to throw Cappy
Tales of Eternia Remastered2.0.060 fps—
The Legend of Zelda: Tears of the Kingdom1.4.330 fps, 60 in caves and shrinesSmoothest with a Turnip Vulkan driver. Work in progress towards 60 fps in the open world
UNDER NIGHT IN-BIRTH Exe:Late[cl-r]1.0.360 fps—
UNDER NIGHT IN-BIRTH II Sys:Celes1.4260 fps—
Unicorn Overlord1.0560 fpsBoots only: saving and a full battle are not tested yet
Unpacking2.0160 fpsPlayed by touch. It also has an official Android release
Viractal: Will You Trust Your Party?1.4.5playableNo frame rate published
Xenoblade Chronicles 32.2.0 + 4 DLC30 fpsWork in progress: some effects and models do not draw yet

Tears of the Kingdom on a 2023 Snapdragon tablet is the headline here, and it is worth being precise about what it means: 30 fps in the open world, 60 in caves and shrines, and it wants a custom Vulkan driver. That is a genuine result and it is not a Switch.

11 games you should not port at all

The project keeps a list of Switch games it deliberately leaves out because an official Android version already exists. For those, the port has nothing to add: buy the real thing, get the real support.

Balatro · Raging Loop · Baba Is You · BALL x PIT · Blasphemous · Final Fantasy Crystal Chronicles Remastered · Ghost Trick: Phantom Detective · Sea of Stars · Stardew Valley · Unpacking · Absolum (the last of these reached Android on 5 November 2026).

Three more are worth knowing about in the other direction: Hades and Cult of the Lamb exist on iPhone through Netflix, and Bastion on iPhone only — the project marks them that way rather than pretending the Android route is the only one.

What you need

ItemRequirementIf you do not have it
Build machineWindows x64, or an Apple-silicon Mac (M1 or later) — both zips ship with every release. You do not need XcodeThere is no cloud or phone-only route.
Free diskAbout 30 GB: the toolchain takes ~4 GB, and a port takes roughly twice the game's size while it worksA port fails mid-way on a full disk.
Phone or tabletAndroid 12 or later, ARM64, and an Adreno or Xclipse GPU (see the table above)Mali and PowerVR devices cannot run these games at all.
Your own dumpThe base game, its update and DLC, in one folder — NSP, XCI, NSZ or XCZNothing to port. NSZ and XCZ are decompressed during the port, which needs extra room for a while.
prod.keysYour own, from the same consoleThe port cannot decrypt anything without it.

The port, step by step

1

Start the app

Unzip nx2android-<version>-windows-x64.zip to a short path such as C: x2android and run nx2android.exe. Windows will warn about an unknown app — More info → Run anyway.

On a Mac, unzip the macos-arm64 build and clear the quarantine flag once in Terminal, because the app is not signed by Apple:

xattr -dr com.apple.quarantine ~/Downloads/nx2android
~/Downloads/nx2android/nx2android
2

Setup tab — once

Click Download missing tools. It fetches the Android NDK, the .NET SDK and platform-tools from Google and Microsoft — about 1 GB — into the app's own folder. Then point prod.keys at your file and click Save and check. Every line should turn green before you go on.

3

Port tab — the part that takes time

Choose the folder holding the game's files. The card underneath tells you which game it found and whether it can be ported; the Games tab lists everything supported. Click Port.

The first port does three jobs: extract the game, rewrite its code, and translate every shader. On a fast 20-thread PC with an SSD that is 2 to 6 minutes; on a slow machine or a spinning disk it is much longer. Later ports reuse what has not changed. The APK and a <Game>-data folder appear next to the game.

4

Put it on the device

Turn on USB debugging (Settings → About → tap Build number seven times, then Developer options → USB debugging), plug the device in, and either tick Install on the device when done before porting or click Install on device afterwards. Allow the computer when the phone asks. No cable? Copy the APK and the data folder across and install normally.

Five switches that decide whether a game is pleasant

OptionWhat it doesWhen you want it
Touch game
--touch
The on-screen gamepad starts hidden, and every touch except one on the menu button goes to the gameA game you play by touch — the gamepad otherwise eats touches near the screen edges
Multithread replay
--mt-replay
Records the game's Vulkan commands on a thread of their ownA game that slows down in busy scenes because of its draw calls. It stays on until you port again without it
Extra address space
--alias-headroom <GB>
Reserves more address space for the game's memory regions. Costs no memory on the device and does not change speedWhen the game crashes with AllocateAddressRegion … refused (0x1803) — usually a game version the profile was not tested with. Auto already gives 8 GB in that case; try 16, then 24
Vulkan driver
--vulkan-driver <file>
Packs a driver such as Mesa's Turnip into the APK itself, loaded through libadrenotools. If the driver will not load, the system one is usedTears of the Kingdom — the project says it is smoothest with Turnip. New in v0.3.0
versionCode offsetLets a rebuild install over an earlier port instead of replacing it outrightYou keep the old install's saves while testing a new port

Controls: the gamepad is editable

Open the pause menu (the button at the top centre) and go to the Gamepad tab → Edit layout. Drag a control to move it, pinch or use − / + to resize it. Save keeps the layout for the next launch; Cancel throws your edits away. Snap to grid starts off, is remembered, and snaps each control's centre to a square grid as you drag.

If a touch game ignores some touches, open the pause menu and turn the gamepad off — then everything but the menu button goes to the game. If it still ignores them, switch to handheld mode in the pause menu: some games only read touch input in handheld mode, exactly as on the Switch.

Saves, and the one way people lose them

The game's pause menu has a Game tab with Export save and Import save. An export is a plain folder under Android/data/<package>/files/saves/, in the same layout a console's save tools produce — so a save taken from a Switch imports the same way, and a save you export can go back.

The app's Saves tab moves saves between the phone and the PC. An import replaces the save the game already has, and the app backs that one up first in a folder ending -before-import.

The trap: uninstalling the app deletes its saves and its exports. Copy them to the PC before you reinstall — this is the single most common way people lose progress in this category, on both Android and iOS.

When something goes wrong

The log at the bottom of the Port tab says why, and errors are in red. Ask on the project's issue tracker with the game's title ID, your device and those red lines — and never post your keys or game files.

  • Antivirus flags the app. Three of 69 engines on VirusTotal flagged v0.1.1 with generic labels; Microsoft, Kaspersky, ESET and BitDefender did not. It is a PyInstaller-packed Python program, which heuristic scanners read as a packed trojan, and the app is not code-signed. The source is on GitHub, and you can build the same bundle yourself with python packaging/build_bundle.py.
  • The game dies with 0x1803. Port it again with a larger Extra address space, above.
  • A port fails with no obvious error. Check free space first — 30 GB is the realistic figure, and NSZ/XCZ sources need more while they decompress.
  • Frame rate sags in busy scenes. Try Multithread replay before you assume the device is too slow.

What this route still cannot do

  • Per-title work, not a compatibility layer with a switch. 27 games out of 94 the engine knows about are ported here. A title outside the list needs someone to do the bring-up.
  • Two of the 27 are not downloadable yet. Pokémon Legends: Z-A and Tears of the Kingdom are tagged for the next release; today they need a build from source.
  • Some ports are not finished. Paper Mario: The Thousand-Year Door flickers, Xenoblade 3 is missing effects and models, Unicorn Overlord has only been booted.
  • No online play. This route is offline, like the iPhone one.
  • Your own files, your own risk. A ported APK contains the game. It is not something to share, and the project says so.

Nothing here is an endorsement or a how-to for obtaining games. The project ships no keys, no game files and nothing extracted from them; you dump both from hardware you own, and Nintendo's takedowns so far have gone to the people hosting projects rather than to players. Whether decrypting your own games for your own use is legal depends on where you live — that is your call, not ours, and we do not host, link or explain how to get the files.

The 27-game table, every frame rate, the update versions, the two unreleased titles and the work-in-progress notes are from the project's README and its docs/PORT_CHECKLIST.md, checked 2026-11-04 — the frame rates are the project's own measurements on a Lenovo Legion Y700 (Snapdragon 8 Elite, Adreno 830), not ours. The install steps, disk figures, port options, save behaviour, the antivirus note and the 0x1803 remedy are from its packaging/INSTALL.md and README, same date. The list of games deliberately left out because an official Android version exists is the project's. The GPU table, the "skip the port" advice and the ordering are our editorial judgement. We have not ported or played anything ourselves.

By M. the CartographerLast updated 2026-11-10Checked 2026-11-10 · porter v0.3.0Not affiliated with Blizzard or the d2r-mobile project