v0.43.0 Open Source · MIT License

Your games, movies, shows, animation, anime, manga, novels, books & audio — all in one box

Build collections, track what you're playing, watching, reading and listening to, rank it in tier lists — on your desktop, your phone, or your own server.

Windows · Linux · macOS · Android · or self-hosted in a browser

Get it on RuStore

Tonkatsu Box in the Sakura theme
Tonkatsu Box in the dark theme
Dark Sakura

Two full themes — the original Dark and the light Sakura. Drag the handle to compare; switch for real in Settings → Appearance.

Fifteen catalogues, one search field

Every medium has databases that know it best. Tonkatsu Box asks them all at once — and none of them needs an API key to get started.

Nine kinds of thing, each with its own rules

A book tracks pages, manga tracks chapters, a series tracks episodes, an album tracks a listened-track checklist. Same app, different grammar.

Games Platforms, playtime, replays
Movies Ratings, watch dates
TV Shows Seasons, episodes, calendar
Animation Same tracker, own shelf
Anime Episodes, recommendations
Manga Chapter progress
Visual Novels Routes and endings
Books Editions, pages read
Audio Albums and podcasts, track by track

Everything you need to organize your media

Search hundreds of thousands of titles, organize them your way, and track your progress across games, movies, anime, manga, books and audio.

📦

Build Collections

Create unlimited collections by platform, genre, or custom lists. Mix games, movies, anime, manga, novels, and books in a single collection. Grid, list, table and board views.

🔍

Search & Discover

Fifteen catalogs behind one search field, each with its own filters and an empty-query browse mode. Add a result to several collections at once.

📊

Track Progress

Status, ratings 1–10, start and finish dates, replays, time spent. Reading progress by page for books, chapters for manga, a listened-track checklist for albums.

In Progress Completed Planned Dropped
📺

Episode Tracker

Season accordion with posters, episode stills, air dates and synopses. Mark an episode, a whole season, or the next unwatched one in a tap.

📈

Your Library in Numbers

Episodes, chapters, pages and hours you got through, a status breakdown per media type, a month-by-month ribbon, platforms, formats, tags, best against worst — with a share card to export.

📚

Books & Reading

Search books on OpenLibrary, Fantlab, Google Books and Hardcover, and comics on ComicVine — pick editions by language and track reading by page.

🎨

Visual Boards

Arrange posters on a free-form canvas. Add text notes, images, and links. Draw connections between items. Browse artwork from SteamGridDB.

🏆

Tier Lists & Mood Grids

Rank items into S/A/B/C tiers with drag-and-drop, or build a Mood Grid — an N×M board of items with labels. Export either layout as a shareable PNG.

📤

Import & Share

Import from Simkl, Steam, Trakt.tv, RetroAchievements, MyAnimeList, AniList, Hardcover, an IGDB list or Kinorium. Share collections as .xcoll or .xcollx files.

Rate & Review

Rate every title from 1–10 stars. Write personal notes and author reviews visible on export. Track when you started and finished each item.

★ 8.5
🌐

Six interface languages

Full localization with runtime switching. All menus, statuses, labels and messages in English, Russian, Simplified Chinese, Spanish, Brazilian Portuguese and French.

Desktop, phone and browser

The same library everywhere — one Docker container serves it to every device on your network.

Home screen
Collections
Search
Title preview
Item details
Filters
Episode tracker
Tier list
Genre cloud
Import

One container, one folder, every device

Run the whole thing on a home server and open it in a browser. The library stops living on one machine.

  • 1Nothing to install but Docker Grab Docker (Desktop on Windows and macOS, Engine on Linux) and you are done — the image compiles both halves itself, the Flutter web app and the Dart server.
  • 2One shared library, not synced copies The browser keeps no database at all; every read and write goes straight to the server. Your phone and your laptop see the same state in the same second.
  • 3The whole install is one folder data/ holds the database, the cover cache, your API keys and the pre-migration snapshots. Backing up is copying it; restoring is copying it back.
  • 4Works on a box with no internet The renderer ships inside the bundle instead of being fetched from a CDN, so a LAN-only server still renders the page.
  • 5Keys stay on the server External catalogues are unreachable from a browser tab, so the server proxies them and adds the credentials. Set them in .env or in Settings — the tab never sees them.
  • 6Installs like an app It is a PWA, so it goes on the home screen or the dock and opens without browser chrome.
~/tonkatsu_box
# clone and start — the first build takes a few minutes
git clone https://github.com/hacan359/tonkatsu_box.git
cd tonkatsu_box
docker compose up -d --build

# then open it from anything on your network
http://<server-ip>:8080

# updating is the same two lines
git pull
docker compose up -d --build

Migrations run on start, and the old database is snapshotted to data/snapshots/ before they do. Put Caddy in front if you want HTTPS and a real domain — there is a ready compose file for it. Built for your own network: there is no login screen, so keep it off the open internet.

Import & share your taste

Import from Simkl, Steam, Trakt.tv, RetroAchievements, MyAnimeList, AniList, Hardcover or Kinorium, export your collections, and share with friends.

Simkl
Simkl Import

Sign in with a short code and bring movies, TV shows and anime from one Simkl account, together with the episode watch history and its original dates.

Steam
Steam Import

Import your owned games with playtime and the last played date, matched against IGDB.

Hardcover
Hardcover Import

Import a book library by username — statuses, ratings, dates and re-reads, graphic novels included.

Trakt.tv
Trakt Import

Import watched movies, shows, ratings, and watchlist from your Trakt.tv ZIP data export.

RetroAchievements
RA Import

Import retro games with achievement progress, awards, and platform mapping from RetroAchievements.

MyAnimeList
MyAnimeList Import

Import your anime and manga lists from a MyAnimeList XML export, including scores, watch status and progress.

AniList
AniList Import

Import anime and manga directly by a public AniList username — no API key, no file export needed.

Kinorium
Kinorium Import

Import your watched movies and shows from a Kinorium CSV export, matched against TMDB with ratings and watch dates.

.xcoll
Light Export

Small file with the list of items. Recipient needs internet to load images and details.

.xcollx
Full Export

Complete package with images, board layouts, and all media data. Works fully offline.

Ready-made collections

Download pre-built collections of top games, movies, and anime. Import and enjoy — works offline immediately.

Questions people actually ask

What is Tonkatsu Box?

A free, open-source collection manager for games, movies, TV shows, animation, anime, manga, visual novels, books and audio. You build collections, search fifteen catalogues from one field, track status and ratings, and rank things in tier lists and mood grids. It runs on Windows, Linux, macOS and Android, or self-hosted in a browser. MIT licensed.

Is it really free? Any account needed?

Yes, and no. There is no account, no subscription and no server of ours involved — the app talks to the public catalogues directly and keeps your library in a local SQLite file.

Do I need API keys?

Not to get started. AniList, Kitsu, MangaDex, MangaBaka, VNDB, OpenLibrary, Fantlab and Podcast Index answer without one. IGDB, TMDB, TheTVDB, ComicVine, Hardcover, Google Books and SteamGridDB need a free key you register yourself and paste into Settings → API Keys.

Can I move my library over from somewhere else?

Import brings in Steam, Trakt.tv, Simkl, Kinorium, RetroAchievements, MyAnimeList, AniList and Hardcover, plus plain JSON and CSV files and IGDB list exports.

Where is my data stored?

In one SQLite database next to the app, with covers cached beside it. Self-hosted, it is one folder on your server — copy it and you have copied the whole install. Export and backup are built in, and the .xcollx archive is a portable copy you can hand to someone else.

Does it work offline?

The library does — browsing, editing, rating and progress never touch the network. Searching new titles and downloading covers needs the catalogues, so that part wants a connection.

What languages does the interface speak?

English, Russian, Simplified Chinese, Spanish, Brazilian Portuguese and French, switchable at runtime without a restart.

Open source, built to last

Flutter 3.38+ Dart 3.10+ Riverpod SQLite Material Design 3 Docker IGDB API TMDB API TheTVDB API TVmaze API VNDB API AniList API MangaBaka API MangaDex API Kitsu API OpenLibrary API Fantlab API Google Books API Hardcover API ComicVine API MusicBrainz API Podcast Index API SteamGridDB ScreenScraper MIT License

Start organizing your collection

Free, open source, and yours to customize.