
nxnative
Turns your own Nintendo Switch game files into an iPhone, iPad or Mac app using a script.
- Stars
- 11.2k
- Forks
- 1.8k
- Licence
- MIT
- Language
- Python
- Last update
- 4 days ago
- Type
- Dev tool
What it is
nxnative is a Python script that takes Nintendo Switch game files you already own (NSP files plus your prod.keys) and packs them into an unsigned IPA you can sideload onto an iPhone or iPad, or a Mac app. The README says 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 included in the repository.
- Build an IPA from a folder of your own Switch game files and sideload it with AltStore, Sideloadly or LiveContainer
- Build a Mac app of a game with the --platform mac-app option
- Pack a Switch 2 game such as Donkey Kong Bananza from a folder of its files for the Mac
- Study how the project reuses shader and kernel reference work from other open-source projects
Great for
- People who own the Switch games they want to run and are comfortable with Terminal
- Developers curious about native-execution approaches to console games
- Mac users who want a Mac app built from their own game files
- Users with a recent iPhone 15 Pro or newer, or an M1 iPad, running iOS or iPadOS 26
Not ideal for
- Anyone without a Mac, since the build requires macOS 26.6 or later and Xcode 27.2
- Anyone with an older iPhone, because the games' BC-compressed textures are unreadable on it
- People who want no command line, since the README points them to separate community Mac apps for that instead
- Anyone wanting a game that isn't on the tested list, since the README says other games may not start
How to get it
- 1
Clone and build from source
You'll need: Mac with macOS 26.6 or later · Xcode 27.2 · Homebrew · Python 3.12 or newer (arm64 build) · prod.keys from your own Switch
Install the Metal toolchain
xcodebuild -downloadComponent MetalToolchainClone the repository
git clone https://github.com/seedds/nxnative.git && cd nxnativeInstall Homebrew tools
brew install xcodegen zstd glslangInstall Python packages
python3 -m pip install lz4 "capstone>=5,<6" fonttools nsz zbic "backports.zstd; python_version < '3.14'" - 2
Run it
- Place your game's NSP files (and any update or DLC) in one folder
- Run python3 scripts/build_ipa_from_nsp.py with the folder path and -k pointing to your prod.keys
- Find the IPA in the game's folder once the build finishes
- Install the IPA with a sideloading tool such as AltStore, Sideloadly or LiveContainer
- 3
Get the most out of it
- Turn on Increased Memory Limit in your sideloading tool if it offers it, since the bigger games need it
- Use --romfs separate if the game is too big to install, then run the printed command once to copy game files to your phone
- Add --platform mac-app to build a Mac app instead of an iPhone IPA
- Read the per-game notes page for tested platforms, progress and known issues
Downloads
Strengths
- The README documents a step-by-step build with exact commands and a per-game notes page
- The project credits the open-source projects it builds on, including Ryujinx, LibHac and SPIRV-Cross, with license details
- It is MIT-licensed and has a large following on GitHub
Trade-offs
- The first build takes 30–60 minutes and needs about twice the game's size plus 10 GB of free disk space
- Only a limited set of games is listed as tested, and the README says untested games may produce an IPA that won't start
- Switch 2 support is tested on the Mac only; iPhone and iPad are untested
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-11-02 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.