nspbuild is a tool that automates the process of creating homebrew NSPs for the Nintendo Switch. For the uninformed, NSPs are pretty much the CIAs (installable titles) of the Switch.
This tool aims to help anyone who wants to create their own NSP, without having information scattered around forums and such.
Note: To follow this guide, you'll need a populated keys.txt in the same directory as nspbuild
Let's say we want to create an NSP of Checkpoint by Bernardo Giordano. First, we'd git clone
it, then compile it. We'll get a few files, but the one we're interested in is the .nso
file. We can keep that in a safe place, feel free to delete everything else.
(You can skip this step by specifying none
as the icon, but who wants that? Nevertheless, you can do this if you'd like.)
Time to get out your MS Paint skills, let's get designing! For this, you'll need a 256x256 JPEG with zero exif data
To make sure your image has zero exif data, open it with your favorite image editor, save it as a BMP, open that BMP, then resave it as a JPEG.
Sweet, we're almost done! Here's the final step, actually building our NSP! What we want to do now is download the latest release of nspbuild, and put it in a folder with our NSO and our icon. For this example, let's say our icon is named icon.jpg
, and our NSO is named Checkpoint.nso
. When we run the program with zero arguments, we get a help message:
usage: nspbuild <path/to/nso> <name> <author> <version> <path/to/icon/jpg> <tid>
So, that's exactly what we'll specify!
nspbuild Checkpoint.nso Checkpoint "Bernardo Giordano" 3.4.2 icon.jpg 01005791048912af
Once it's done, we should see a new folder called out/
! In it, what's this? Checkpoint.nsp
!
If you're having any issues with the program, join my Discord server and ask for help! We'll be happy to assist you!
None of this wouldn't have been possible without these amazing people!
The-4n, for creating hacBrewPack
roblabla, for creating linkle
switchbrew, for creating switch-tools, and subsequently npdmtool
The Golang Authors, for creating such an amazing language!