
If you keep backups of your Switch games, you know how it goes: a folder of .nsp and .xci files with names from five different conventions, updates you’re not sure are current, and DLC you think is complete. NX-Librarian scans that folder and gives you a clean, organized view of your collection — then helps you fix it.
Three views of your library
| Mode | What you get |
|---|---|
| 🎮 Base Games | Your full library with release dates, update availability and DLC presence |
| 🔼 Updates | Version comparison against the latest known release — spot outdated files instantly |
| 🎁 DLC & Add-ons | Grouped by parent game with completeness tracking: COMPLETE, PARTIAL 3/7… |
Library management
- Live database sync from blawar/titledb for titles, versions and regions, cached locally.
- Region detection by consensus voting across six regional databases, with global releases shown as
● GLB. - Wrong-region flagging for updates and DLC that don’t match their base game — without false positives on global releases.
- Quality filters for missing title IDs, unknown title IDs, or improper naming, in one click.
- Live search, column sorting, right-click copy, and cross-screen jumps (click a base game’s UPDATE? cell to jump straight to its update).
Smart file fixing
- ✎ Fix Name proposes a corrected filename in the standard
Game Name [TitleID][vVERSION].nspform, with an inline rename dialog. - ✎ Fix TID opens a smart search for files with missing or unrecognized title IDs: it strips scene noise from the filename, searches for any word, and ranks candidates by comparing your file’s actual size against the expected size (✓ / ~ / ✗).
- Version and placement warnings catch a base game tagged above v0, or an update folder holding what is really a base game, and suggest whether to rename it or move it — with a “Why:” based on the file size.
Fast from the first click
With Pre-Scan on, NX-Librarian scans all three of your folders during the splash screen, so the library is already there when you pick a mode. The splash progress circle is real, too: it reflects the actual database load and each scan. A footer timer shows exactly when the database will auto-refresh.
The naming convention
The Legend of Zelda Tears of the Kingdom [0100F2C0115B6000][v0].nsp
The Legend of Zelda Tears of the Kingdom [0100F2C0115B6800][v65536].nsp
Title IDs are the source of truth; region tags in filenames are ignored. Base games end in 000, updates in 800, and DLC is anything else — and unlike the Wii U, about 98% of Switch releases share one title ID worldwide. Versions use Nintendo’s format, where 65536 is v1.0.
Running it
git clone https://github.com/jackharvest/NX-Librarian.git
cd NX-Librarian
pip install Pillow
python main.py
Python 3.10+ and Pillow; an internet connection for the first database sync. Built for my own collection, and shared in case it helps yours. Not affiliated with Nintendo — it’s for organizing backups of games you own.
Got a Wii U collection too? Wii U Transfer gets those onto an SD card from a Mac.
