Your personal collection manager for games, movies, TV shows, anime, visual novels, and manga
Warning
This app is in active development. Updates may include database migrations that change data format. Please create a backup before updating (Settings → Backup → Create Backup). Alternatively, you can manually copy the app data folder:
- Windows:
%APPDATA%\Roaming\Tonkatsu Box\Tonkatsu Box - Linux:
~/.local/share/tonkatsu_box(or$XDG_DATA_HOME/tonkatsu_box) - Android: use the built-in backup feature (Settings → Backup)
Tonkatsu Box is a free, open-source app to organize your media collections. Search millions of titles from IGDB, TMDB, VNDB, AniList, MangaBaka, OpenLibrary, and Fantlab. Track your progress, rate everything, create visual boards and mood grids, and import your library from Steam, Trakt.tv, RetroAchievements, MyAnimeList, or AniList.
| Collections | Collection Grid |
|---|---|
| Bulk Selection | Item Details |
|---|---|
| Game Search | Add to Collection |
|---|---|
| Settings | Search Sources |
|---|---|
| Tier List | Mood Grid |
|---|---|
| Collections | Organize by platform, genre, or any way you like. Grid, list, and table views |
| Wishlist | Dedicated top-level list for what you want to play, watch, or read next |
| Search | IGDB (games), TMDB (movies/TV), AniList (anime & manga), MangaBaka (manga), VNDB (visual novels), OpenLibrary & Fantlab (books) |
| Progress Tracking | Status, ratings 1-10, episode tracking for TV shows and anime |
| Discord Rich Presence | Show what you're playing/watching/reading in Discord (desktop) |
| Visual Boards | Drag-and-drop canvas with posters, notes, and connections |
| Tier Lists & Mood Grids | Rank items into S/A/B/C tiers, or arrange them on a visual N×M board with labels — export either as PNG |
| Import | Steam library, Trakt.tv history, RetroAchievements progress, MyAnimeList XML, AniList by username |
| Kodi Sync | Pull watched status and ratings for your movies from a Kodi media server over JSON-RPC |
| Export & Share | .xcoll / .xcollx files with full offline support |
| Gamepad | Navigate with Xbox controller (desktop and Android handhelds) |
| Languages | English & Russian |
| Platform | Link |
|---|---|
| Windows | Download .zip |
| Linux | Download .tar.gz |
| Android | Download .apk or RuStore |
Linux support is experimental.
On Android you have three options: grab the APK from Releases, install from RuStore, or set up Obtainium for auto-updates (below). RuStore handles updates for you through its own store.
Obtainium checks GitHub Releases and installs new APKs for you, so you don't have to download updates by hand.
- Install Obtainium.
- Tap Add App and paste this into App source URL:
https://github.com/hacan359/tonkatsu_box - Tap Add.
- The first time it updates, Android asks you to allow installs from Obtainium. Allow it once.
- In the app settings, pick how often Obtainium checks for releases and turn on auto-update, or just refresh manually whenever you want.
When a new release ships, Obtainium downloads the APK and shows the system install dialog to confirm. Silent background installs are not possible on Android without root.
- Download and install from the links above
- Launch the app — Welcome Wizard guides you through setup
- Start adding items from Search, or import ready-made collections
The app works offline after setup. API keys are built-in.
Tonkatsu Collections — 25,000+ games across 23 platforms, top movies, TV shows & anime. Download .xcollx → Import → Done.
Already tracking elsewhere? Bring your data:
Move your whole collection from one device to another over your home network. No cloud, no account: the two devices talk to each other directly.
How it works:
- Open Settings → Database → Device-to-device sync on both devices. While the screen is open, each device announces itself on the local network and finds the other one.
- On the device that should receive the data, tap the other device in the list.
- Confirm on both sides: the receiving device shows what it is about to download (device name, date, collection and item counts), and the sending device asks you to allow the transfer.
- The full database is copied over and replaces everything on the receiving device. Restart the app when asked.
This is a full replace, not a merge. Changes made on the receiving device that the sender doesn't have are gone after the transfer.
Before replacing anything, the app keeps the previous database as a backup. Settings → Database → Backup → Restore swaps the current database with that backup, and restoring again swaps them back.
Caution
This feature can destroy data. Read this before using it.
- Receiving a snapshot overwrites your entire local database. Anything you added on this device and nowhere else is lost.
- There is only one backup slot. Receiving a second snapshot overwrites the backup made before the first one — after that, the original data is gone for good.
- The transfer is not encrypted and there is no pairing between devices. Use it only on a network you trust (your home Wi-Fi), never on public or shared networks.
- If the app is killed or the device loses power in the middle of a transfer or restore, the database can end up corrupted. Keep a regular backup (Settings → Backup) before syncing.
By default the database lives in the app's private folder. Settings → Database → Storage location lets you move it to any folder you pick — for example an SD card or a folder synced by a cloud client.
When you pick an empty folder, the app copies your current data there. When you pick a folder that already holds Tonkatsu Box data, the app switches to that data instead. Either way a restart is required. If the custom folder is missing on startup (unplugged drive, dead network share), the app falls back to the default location instead of failing — Settings shows a warning when that happens.
Caution
- Pointing two devices or a cloud client at the same live folder is not supported and can corrupt the database. Sync clients copy files while they are being written; SQLite does not survive that.
- When the custom folder is unavailable, the app silently runs on the default (possibly empty) data. Your collection is not lost — plug the drive back in and restart — but anything you add meanwhile lands in the default folder, not the custom one.
- On Android this feature needs the "All files access" permission, which the app requests only when you actually pick a folder.
| Type | Source | API Key | |
|---|---|---|---|
| Games | IGDB | Built-in | |
| Movies & TV | TMDB | Built-in | |
| Visual Novels | VNDB | Not required | |
| Anime & Manga | AniList | Not required | |
| Manga | MangaBaka | Not required | |
| Books | OpenLibrary | Not required | |
| Books | Fantlab | Not required | |
| Artwork | SteamGridDB | Built-in | |
| Retro media gallery | ScreenScraper | Required (user account) | |
| Achievements | RetroAchievements | Required |
| Feature | Windows | Linux | Android |
|---|---|---|---|
| Collections & search | ✅ | ✅ | ✅ |
| Progress tracking | ✅ | ✅ | ✅ |
| Visual boards | ✅ | ✅ | ✅ |
| Tier lists | ✅ | ✅ | ✅ |
| Import (Steam/Trakt/RA) | ✅ | ✅ | ✅ |
| Kodi sync | ✅ | ✅ | ✅ |
| VGMaps browser | ✅ | — | — |
| Gamepad | ✅ | ✅ | ✅ |
| Discord Rich Presence | ✅ | ✅ | — |
git clone https://github.com/hacan359/tonkatsu_box.git
cd tonkatsu_box
flutter pub get
flutter run -d windows # or linux / androidRequires Flutter 3.44+. See CONTRIBUTING.md for details.
Contributions welcome! See CONTRIBUTING.md for build instructions, code style, and PR guidelines.
Data: IGDB · TMDB · VNDB · AniList · MangaBaka · OpenLibrary · Fantlab · MyAnimeList · RetroAchievements · SteamGridDB · ScreenScraper
This product uses the TMDB API but is not endorsed or certified by TMDB.