Play your own Nintendo Switch games natively on iPhone and iPad. Bring your game (its NSP files) and your prod.keys; one script turns them into an IPA that you sideload.
It is not an emulator: the game's own code runs directly on the Apple chip, with Switch graphics rebuilt on Metal. Nothing from any game is in this repository, and the project is not affiliated with Nintendo or any game publisher.
Community projects build on nxnative with Mac apps that turn your games into apps for your iPhone, iPad or Mac, with no command line, and keep them in a library. They are separate projects: questions and bugs about them go to their own pages.
You need a Mac with macOS 26.6 or later, Xcode 27.1, Homebrew and Python 3.12 or newer (an arm64 one, not an Intel Homebrew's). An iPhone build also needs Xcode's iOS platform (Xcode → Settings → Components).
1. Install the tools (only once), in Terminal:
xcodebuild -downloadComponent MetalToolchain
git clone https://github.com/seedds/nxnative.git && cd nxnative
brew install xcodegen zstd glslang
brew install --cask dotnet-sdk
python3 -m pip install lz4 capstone fonttools nsz "backports.zstd; python_version < '3.14'"
2. Put your game in a folder: the game, plus its update and DLC if you have them (.nsp, .xci, .nsz or .xcz):
~/Games/MarioWonder/
Super Mario Bros. Wonder [010015100B514000][v0].nsp
Super Mario Bros. Wonder [010015100B514800][v327680].nsp
3. Build, with your game folder and your prod.keys:
python3 scripts/build_ipa_from_nsp.py ~/Games/MarioWonder -k ~/keys/prod.keys
The IPA appears in the game's folder. The first build takes 30–60 minutes and needs free disk space of about twice the game's size plus 10 GB; building again is much faster.
To play on the Mac instead, add --platform mac-app: you get a Mac app of the game to open from Finder. All options: The packing script in detail.
Install the IPA on your iPhone or iPad with a sideloading tool such as AltStore, Sideloadly or LiveContainer. If your tool offers Increased Memory Limit, turn it on: the bigger games need it.
Game too big to install? Build again with --romfs separate, and run the command the script prints once to copy the game files to your phone (Quick reinstalls).
Controls, saves and settings: Playing.
Games tested on Mac or iPhone. See the per-game notes for tested platforms, progress and known issues:
Needs iOS / iPadOS 26 or later on an iPhone 15 Pro or newer (A17 Pro chip or later) or an iPad with an M1 chip or later: the games' textures are BC-compressed, and older iPhones can't read that format. Other games aren't supported yet. For them the script writes a survey and still tries its best to pack an IPA, guessing the game's settings; such an IPA may not start.
Under each game: the IPA's size, and "60 fps with 1.2.0" where the game runs at 60 fps (30 on the Switch) with that update.
![]() Mario Kart 8 Deluxe ~11.9 GB · no Mii heads |
![]() Mario vs. Donkey Kong ~1.6 GB |
![]() Paper Mario: The Thousand-Year Door ~5 GB · 60 fps with 1.0.1 |
![]() Super Mario 3D World + Bowser's Fury ~3 GB |
![]() Super Mario Bros. Wonder ~4 GB |
![]() Super Mario Galaxy ~3 GB |
![]() Super Mario Galaxy 2 ~3 GB |
![]() Super Mario Odyssey ~6 GB |
![]() The Legend of Zelda: Breath of the Wild ~16 GB · 60 fps with 1.9.0 |
![]() The Legend of Zelda: Link's Awakening ~6 GB |
![]() The Legend of Zelda: Tears of the Kingdom ~17 GB · 60 fps with 1.4.3 |
![]() 13 Sentinels: Aegis Rim ~5 GB |
![]() Absolum ~2 GB |
![]() Ace Attorney Investigations Collection ~7 GB |
![]() Advance Wars 1+2: Re-Boot Camp ~7.1 GB |
![]() AI: THE SOMNIUM FILES ~8.3 GB |
![]() AI: THE SOMNIUM FILES - nirvanA Initiative ~11.6 GB |
![]() Animal Crossing: New Horizons ~10.5 GB |
![]() ANIMAL WELL ~54 MB |
![]() ASTRAL CHAIN ~9.7 GB · 60 fps target with 1.0.1 |
![]() Balatro ~82 MB · played by touch |
![]() BALL x PIT ~1.1 GB |
![]() Bayonetta ~8.8 GB |
![]() Bayonetta 2 ~12.5 GB |
![]() Bayonetta 3 ~14.2 GB |
![]() Big Brain Academy: Brain vs. Brain ~0.8 GB |
![]() Brain Memory Training Academy ~0.1 GB |
Captain Toad: Treasure Tracker ~2 GB |
![]() Catherine: Full Body ~14 GB |
![]() Celeste ~0.9 GB |
![]() Cuphead ~5 GB |
![]() DARK SOULS: REMASTERED ~4 GB · 60 fps with 1.0.3 |
![]() Digimon Story Cyber Sleuth: Complete Edition ~5 GB |
![]() Donkey Kong Country: Tropical Freeze ~7.3 GB |
![]() DRAGON QUEST VII Reimagined ~5.9 GB |
![]() DRAGON QUEST XI S: Echoes of an Elusive Age – Definitive Edition ~15 GB · 60 fps with 1.0.4 |
![]() FINAL FANTASY RESONANCE ~10 GB · 60 fps with 1.0.1 |
![]() FINAL FANTASY TACTICS - The Ivalice Chronicles ~11 GB |
![]() Fire Emblem Engage ~15 GB · 60 fps with 2.0.0 |
![]() Fire Emblem: Three Houses ~13 GB · 60 fps with 1.2.0 |
![]() Ghost Trick: Phantom Detective ~3 GB |
![]() The Great Ace Attorney Chronicles ~4 GB |
![]() Hades ~4 GB |
![]() Hades II ~4 GB |
![]() Hollow Knight: Silksong ~6.4 GB |
![]() Hyrule Warriors: Age of Calamity ~15 GB · 60 fps with 1.3.0 |
![]() Kirby and the Forgotten Land ~6.4 GB |
![]() Luigi's Mansion 3 ~7.5 GB · 60 fps with 1.4.0 |
![]() Metroid Dread ~5 GB |
![]() Monster Hunter Rise ~22 GB · 60 fps with 16.0.2 |
![]() Monster Train 2 ~1.6 GB · 60 fps with 1.1.1 |
![]() OCTOPATH TRAVELER ~3.6 GB |
![]() Octopath Traveler 0 ~4 GB · 60 fps with 1.0.5 |
![]() Octopath Traveler II ~5.9 GB · 60 fps with 1.1.1 |
![]() Patrick's Parabox ~0.2 GB |
![]() Persona 5 Royal ~14.9 GB |
![]() Pikmin 4 ~10.8 GB |
![]() Pokémon Brilliant Diamond ~4.6 GB · 60 fps with 1.3.0 |
![]() Pokémon Legends: Z-A ~6 GB |
![]() Pokémon Scarlet ~7.0 GB |
![]() Pokémon Sword ~12.4 GB |
![]() Pokémon Shield ~12.4 GB |
![]() Portal ~2.6 GB |
![]() Raging Loop ~0.9 GB |
![]() Rhythm Heaven Groove ~3 GB |
![]() ROMANCE OF THE THREE KINGDOMS 8 REMAKE ~16.8 GB · controller only |
![]() Sea of Stars ~5.1 GB |
![]() SHIN MEGAMI TENSEI V: Vengeance ~14.6 GB · 60 fps with 1.0.3 |
![]() Stardew Valley ~0.6 GB |
![]() STEINS;GATE RE:BOOT ~6 GB |
![]() Super Smash Bros. Ultimate ~17.5 GB · offline |
![]() Taiko Risshiden V DX ~3.3 GB · Japanese · played by touch |
![]() Unicorn Overlord ~4 GB |
![]() Yoshi's Crafted World ~6.1 GB |
![]() NieR:Automata The End of YoRHa Edition ~10.9 GB · 60 fps with 1.0.3 |
![]() The Legend of Zelda: Echoes of Wisdom ~7.8 GB |
![]() Donkey Kong Country Returns HD ~11.6 GB |
![]() Mario + Rabbids Sparks of Hope ~9.8 GB |
![]() Xenoblade Chronicles 2 ~17.1 GB |
![]() Xenoblade Chronicles 3 ~19.2 GB |
![]() FINAL FANTASY CRYSTAL CHRONICLES Remastered Edition |
![]() Return of the Obra Dinn ~0.9 GB |
![]() Blasphemous 2 ~1.5 GB |
![]() Silver Pines |
![]() Blasphemous ~0.9 GB |
![]() FINAL FANTASY X/X-2 HD Remaster ~26.5 GB |
![]() Mario + Rabbids Kingdom Battle ~5 GB |
![]() Persona 4 Golden |
![]() Xenoblade Chronicles: Definitive Edition ~13.2 GB |
![]() Pokémon Legends: Arceus ~4.2 GB |
![]() Super Mario Party Jamboree |
![]() Cult of the Lamb |
![]() Paper Mario: The Origami King |
![]() Batman: Arkham Knight |
![]() Bastion ~0.9 GB |
How it works · Game notes · Bring-up and debugging · Front ends · Contributing
nxnative started from d2r-mobile (MIT), which developed this native-execution approach for Diablo II: Resurrected: its NSO rewriter, Horizon host, NVN-on-Metal layer and iOS app shell. Fixes go both ways. It also builds on Ryujinx (MIT; its shader translator, in dm/third_party/ryujinx with a few fixes, and a reference for system services), Atmosphère (Horizon's synchronization semantics), yuzu (Maxwell encodings, kernel cross-checks), LibHac and hactool (reading NSPs), SPIRV-Cross and glslang (shaders to Metal), deko3d (zlib; texture layout sizes), libvpx, stb_vorbis, the Vulkan headers and NVIDIA FLIP (licenses), and Capstone, lz4, fontTools and XcodeGen in the build.
MIT (LICENSE). Third-party code keeps its own license (dm/third_party).





























































































