Home/Compare
Compare
How Uchiyomi compares to the other self-hosted manga servers
Written by the person who makes one of them, so read it with that in mind — which is why the rows Uchiyomi loses are in the table too, and why every claim has a date on it.
The one-line answer. If you only want to read files you already own and you read on a Kobo, run Komga. If you read novels as well as comics, run Kavita. If you read on an Android phone and nowhere else, use Mihon. If you want a server that fetches new chapters and has no reader worth opening, that is Suwayomi or kaizoku. If you want one app that finds, fetches, tracks and reads, for a household, that is Uchiyomi.
Row by row
Compiled 2026-09-22 against Uchiyomi v0.40.0 and each other project's own documentation. These projects move fast and I do not run all of them daily — if a row is wrong or out of date, open an issue and I will fix it here and in the repo.
| Uchiyomi | Komga / Kavita | Tachiyomi / Mihon | Suwayomialso runs inside Uchiyomi | |
|---|---|---|---|---|
| Self-hosted, multi-user server | ✓ | ✓ | ×Android app | ✓ |
| Fetches new chapters from sources | ✓ | ×you supply files | ✓ | ✓ |
| Webtoon-first reader (continuous vertical scroll) | ✓ | paged-first | Android | paged-first |
| Installable PWA + offline, any device | ✓ | partial | Android only | partial |
| Per-user progress + household | ✓ | ✓ | × | limited |
| 2FA · lockout · audit log · sessions | ✓ | partial | × | × |
| Add a source by pasting a URL | ✓ | n/a | extensions | extension repos |
| Reaches Mihon’s extensions | ✓ | × | ✓ | ✓ |
| Syncs to AniList / MyAnimeList / Kitsu | ✓ | Kavita+, paid | ✓ | ✓ |
| Single sign-on (OIDC) | ✓ | ✓ | × | × |
| Finds chapter gaps & bad downloads | ✓ | partial | × | × |
| API tokens, scoped read / write / admin | ✓ | keys, unscoped | × | × |
| Age ratings · per-member limit | ✓ | ✓ | × | × |
| An 18+ library hidden until asked for | ✓ | × | × | × |
| Per-member permission to add series | ✓ | × | × | × |
| Interface in 9 languages, right-to-left | ✓ | ✓ | ✓ | limited |
| Reads CBZ / CBR / PDF / image EPUB | ✓ | ✓ | ✓ | ✓ |
| Automatic nightly backups | ✓ | × | × | × |
| Prefer or block scanlation groups | ✓ | × | per source | × |
| Shows chapters the sources have that you don’t | ✓ | × | ✓ | ✓ |
| Reviews every match before an import lands | ✓ | × | × | × |
| Imports an AniList / MyAnimeList / Kitsu list | ✓ | × | × | × |
| Readable from Mihon (Komga-compatible API) | ✓ | Komga only | n/a | × |
| Keeps a part-downloaded chapter and repairs it | ✓ | n/a | × | × |
| Runs in one container, database included | ✓ | ×+ a database | ✓an app | ×+ a database |
| Reads text ebooks (reflowable EPUB) | ×on purpose | Kavita ✓ | × | × |
| Kobo device sync | × | Komga ✓ | × | × |
Komga
Komga is the most mature server in this list and the one I point people at most often. It has been around for years, its OPDS support is excellent, and it does two things Uchiyomi does not: Kobo sync, which is genuinely the reason to choose it if you read on an e-ink Kobo, and KOReader sync. Its metadata handling is deeper, and its community is larger.
What it does not do is fetch. Komga serves the files you put in front of it; something else has to find and download them, which in practice means running Suwayomi or a downloader next to it and pointing both at the same folder. That works, and plenty of people run exactly that. Uchiyomi's argument is that it is one container instead of three, that the fetching knows what the reader knows (so it can tell you which chapters you are missing), and that the reader is webtoon-first rather than paged-first.
Uchiyomi reads the same CBZ and CBR files from the same folders, mounted read-only by default, so running both against one library while you decide costs nothing and risks nothing.
Kavita
Kavita is the broadest of them: comics, manga, and reflowable text EPUB in one library. If you read prose novels as well as manga, it is the obvious answer, and nothing here is trying to argue you out of it. Uchiyomi deliberately does not do text ebooks — doing them properly is a different product, and doing them badly would be worse than not doing them.
Two things to know. Kavita's tracker sync lives behind Kavita+, which is paid; Uchiyomi's AniList, MyAnimeList and Kitsu sync is in the box. And like Komga, Kavita does not fetch: it is a library server, so new chapters arrive by whatever means you already use.
Suwayomi
This is the one where honesty matters most, because Uchiyomi embeds Suwayomi. The optional extension engine in the default compose file is Suwayomi-Server, and it is what actually runs the Mihon extensions. Without that project there would be no extension catalogue here at all, and it deserves the credit.
So the question is not which of the two fetches better — underneath, on the extension route, they fetch identically. The question is what sits on top. Suwayomi's web UI is a control surface for a download engine: capable, and not a place you would choose to read a hundred chapters of a webtoon. It has no household model, no per-user progress, no age ratings, no 2FA, no single sign-on, and it needs a database beside it.
Uchiyomi is the reader, the library, the scheduler and the multi-user server around that engine, plus its own generic engines and MangaDex for the sites that do not need an extension at all. If you are already running Suwayomi and happy reading in it, you do not need Uchiyomi. If you found yourself wanting a real reader on top, that is the gap this fills.
Mihon (and Tachiyomi forks)
Mihon is where the extension ecosystem comes from and it is excellent at what it does. It is also an Android app: your library lives on a phone, progress is per-device unless you wire up sync yourself, and there is nothing for the iPad, the laptop or anyone else in the house.
You do not have to choose. Since v0.38.0 Uchiyomi speaks a Komga-compatible API, so you can point Mihon's own Komga extension at your Uchiyomi server and read your self-hosted library inside Mihon, with Mihon's built-in Komga tracker syncing your progress back. There is also a dedicated extension for Mihon, any Tachiyomi fork, Tachimanga on iOS and Suwayomi. The server keeps the files and the progress; Mihon stays the reader on the phone if that is what you like.
kaizoku, Mangarr and the *arr approach
kaizoku is the closest thing to a direct competitor: a self-hosted manga downloader that watches series and grabs new chapters, in the spirit of Sonarr. Mangarr and Mylar3 (for Western comics) take the same shape. They do the grabbing job well and they are honest about their scope — none of them is a reader, so you still run Komga or Kavita beside them and point both at the same folder.
That is the *arr stack for manga in practice: an indexer, a grabber, a download client, a Cloudflare solver and a media server, four or five containers and a weekend of compose files. Uchiyomi's whole argument is that for manga specifically those jobs are not worth separating, and that a fetcher which shares a database with the reader can do things a fetcher bolted onto a folder cannot — tell you which chapters the sources have that you do not, choose between scanlation groups, follow the same series on a second source, and repair a chapter that came down missing three pages.
Can I run more than one?
Yes, and it is the sensible way to try this. Mount the same library folder into Uchiyomi and into
whatever you run now. Uchiyomi mounts it read-only unless you deliberately give it
write access, and anything it downloads goes to its own separate folder, so your existing library
and your existing server carry on untouched. If you decide against it,
docker compose down and you have lost nothing but a container.