Kavita
Kavita is an open source, self-hosted reading server for ebooks, comics, and manga — a Kindle and Comixology alternative that stores your EPUB, PDF, and CBZ/CBR files on your own server with built-in readers and cross-device progress tracking.
What is Kavita?
Kavita is a self-hosted reading server for ebooks, comics, and manga. It stores your EPUB, PDF, CBZ, and CBR files on your own hardware, scans them into a searchable library, and serves format-specific readers to any browser — no external database or cloud account required. It’s written in C#/.NET and runs as a single Docker container.
What is Kavita best for?
Kavita is best for readers with a mixed digital library — ebooks alongside comics and manga — who want one server to handle all of it. It suits people moving off Kindle or Comixology who want their files kept locally, and homelab users who value fast scanning of large collections (Kavita has been tested with 50,000+ files). If your library is almost entirely comics, Komga is more polished out of the box; if it’s mostly ebooks tied to Calibre, Calibre-Web fits better. Kavita’s edge is doing both well at once.
What can Kavita do?
- Read EPUB, PDF, CBZ, CBR, ZIP, RAR, and 7z with dedicated per-format readers (webtoon, single-page, and dual-page spread modes)
- Organize with collections, reading lists, and want-to-read lists, plus full-text search and metadata filtering
- Serve any OPDS-compatible reader app (Panels, Chunky, Paperback, KOReader) and “Send to Device” to push books to a Kindle
- Manage multiple users with role-based permissions, age-rating restrictions, and OIDC or built-in login
- Highlight and annotate EPUBs, with export to Obsidian
- Read ComicInfo.xml and filename metadata, watch folders for new files, and theme the UI with custom fonts
Where does Kavita fall short?
- It’s pre-1.0 beta software. The project itself warns of possible breaking changes and data-loss risk before the 1.0.0 release, so keep backups.
- There’s no official mobile app. Reading away from a browser means a third-party OPDS client like Panels or Paperback, rather than a first-party app the way Plex or Audiobookshelf ship one.
- The best metadata features are paid. Automatic external metadata matching and scrobbling to services like AniList live in Kavita+, a subscription add-on (about $4/month); the free core relies on embedded and filename metadata.
Is Kavita free?
Yes — Kavita is free and open source under GPL-3.0, and self-hosting costs only your own server. Kavita+ is an optional paid subscription (about $4/month) that adds external metadata matching and scrobbling to services like AniList. Nothing in the core reading experience — the library, the readers, multi-user access, or OPDS — is locked behind it.
What does Kavita replace?
Kavita is a self-hosted alternative to Kindle and Comixology. Instead of buying into Amazon’s ebook and comic ecosystems and reading through their apps, you keep your own EPUB and CBZ/CBR files on a server you control and read them in the browser or any OPDS app. Among open source peers it overlaps with Komga (comic- and manga-focused) and Calibre-Web (ebook- and Calibre-focused); Kavita’s pitch is handling both in one server.
FAQ
Is Kavita open source? Yes. Kavita is licensed under the GNU GPL v3 and the full source is on GitHub. The core server and all of its readers are free; only the optional Kavita+ metadata service is paid.
Can I self-host Kavita for free? Yes. Self-hosting is completely free — you only pay for the hardware it runs on. Kavita ships as a single Docker container with an embedded database, so there’s no separate database to set up.
Is Kavita a good Kindle alternative? For owning your files, yes — you keep EPUB and comic files locally and read them from any device. It won’t replace Amazon’s store or e-ink hardware, but its “Send to Device” feature can push books to a Kindle.
What do I need to run Kavita? A machine that can run Docker — Linux, Windows, macOS, or a NAS. It’s lightweight enough for a low-power server or Raspberry Pi, and because it uses an embedded database there are no extra services to run.