ScriptsApr 19, 2026·3 min read

Kavita — Self-Hosted Digital Reading Server

Kavita is a fast, feature-rich, cross-platform reading server for manga, comics, and books. It supports a wide range of formats and provides a polished reading experience through any web browser.

Introduction

Kavita is a self-hosted reading server that organizes and serves manga, comics, e-books, and light novels through a responsive web interface. It automatically scans your library directories, parses metadata, and presents your collection with cover art, reading progress, and series grouping.

What Kavita Does

  • Serves manga, comics (CBZ/CBR/CB7), e-books (EPUB/PDF), and raw image folders
  • Tracks per-user reading progress across all devices via browser-based readers
  • Parses and displays metadata from ComicInfo.xml, OPF files, and embedded epub metadata
  • Provides OPDS feed support for integration with third-party reading apps like Tachiyomi
  • Manages multi-user access with per-library permissions and age rating restrictions

Architecture Overview

Kavita is a .NET application with an Angular frontend served as a single-page application. It uses SQLite for its database and processes library scans in background tasks. The built-in readers (manga webtoon reader, book reader, PDF viewer) render content directly in the browser. File processing uses SharpCompress for archives, HtmlAgilityPack for epub rendering, and ImageSharp for cover generation. The API is REST-based with JWT authentication.

Self-Hosting & Configuration

  • Deploy via Docker or download platform-specific binaries for Windows, Linux, or macOS
  • Point library paths to directories containing your manga, comics, or book files
  • Configure scanning intervals and metadata settings through the admin dashboard
  • Set up user accounts with per-library access controls and age rating filters
  • Enable OPDS to allow external reading apps to browse and download from your server

Key Features

  • Built-in webtoon-style continuous scroll reader optimized for manga and long-strip comics
  • Smart series grouping that automatically detects volumes, chapters, and specials
  • Metadata scraping from embedded file metadata and community-maintained sources
  • User collections, reading lists, and want-to-read shelves for organizing content
  • Full-text search across series names, tags, genres, authors, and file paths

Comparison with Similar Tools

  • Komga — similar manga/comic server in Kotlin, lighter but fewer built-in reader features
  • Calibre-Web — focused on e-books with Calibre database integration, weaker manga support
  • Tanoshi — Rust-based manga reader with source extensions, less mature
  • Ubooquity — Java-based server, no longer actively maintained
  • Jellyfin — media server with book plugin, but reading experience is secondary

FAQ

Q: What file formats does Kavita support? A: Kavita supports CBZ, CBR, CB7, ZIP, RAR, 7Z, TAR.GZ for comics/manga; EPUB and PDF for books; and raw image folders (JPG/PNG/WebP) organized by chapter directories.

Q: Can I use Kavita with Tachiyomi or other manga reader apps? A: Yes. Kavita provides an OPDS feed that works with Tachiyomi (via the Kavita extension), Panels, Chunky, and other OPDS-compatible readers.

Q: How does multi-user access work? A: Administrators create user accounts and assign library access. Each user has independent reading progress, bookmarks, and preferences. Age ratings can restrict content visibility.

Q: Does Kavita support reading progress sync? A: Yes. Reading progress is tracked per-user on the server and syncs across all devices automatically through the web interface.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets