explaingit

kareadita/kavita

10,539C#Audience · generalComplexity · 3/5LicenseSetup · moderate

TLDR

A self-hosted reading server that gives you a private website to browse and read your personal manga, comics, graphic novels, and ebook collection from any device on your home network.

Mindmap

mindmap
  root((kavita))
    What It Does
      Self-hosted reading server
      Private library website
      Any device via browser
    Supported Formats
      CBZ CBR 7z archives
      EPUB books
      PDF documents
    Features
      User management
      Multiple reading modes
      Dark mode and themes
    Audience
      Home server hobbyists
      Manga and comic readers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Set up a home manga and comic server so your household can read your collection from any browser without file transfers.

USE CASE 2

Organize your EPUB and PDF book collection into reading lists and track progress across devices.

USE CASE 3

Give family members access to specific library sections with age restrictions and individual permissions.

USE CASE 4

Pull in cover art and descriptions from external metadata services using the optional Kavita+ subscription.

Tech stack

C#DockerEPUBPDFCBZ

Getting it running

Difficulty · moderate Time to first run · 30min

Easiest path is a pre-built Docker container image, project is still in beta so occasional data format changes are possible.

Free to use and inspect, but if you distribute a modified version you must release its source code under the same terms.

In plain English

Kavita is a reading server you run on your own computer or home server. Once set up, it gives you a private website where you and your household can browse and read your personal collection of manga, comics, graphic novels, and books. Instead of relying on a third-party service, your files stay on your own machine and you access them through a web browser on any device. The server handles a wide range of file formats. For comics and manga it accepts CBZ, CBR, ZIP, RAR, and 7-zip archives as well as loose image folders. For books it reads EPUB and PDF files. You organize your library into collections and reading lists, and the built-in readers are designed for different styles: a webtoon vertical-scroll mode, a continuous reading mode so you can move between chapters without stopping, and standard page-by-page reading. Kavita includes user management so you can invite friends or family without giving them access to everything. You can set age restrictions and control what each person can see or do. The interface supports dark mode and custom themes, and it works on phones, tablets, and desktops without needing a separate app. There is an optional paid subscription called Kavita+, billed separately, which adds external metadata features: it can pull in cover art, descriptions, and reading progress from third-party services and sync your ratings and reviews back out. The core server is free and open source under the GPL v3 license, meaning you can inspect the code and run it without paying anything. Setup instructions live in the project wiki, and the easiest path is a pre-built container image you can pull and run. A public demo is available at demo.kavitareader.com if you want to try the interface before installing. The project is still actively developed and considers itself in beta, so some rough edges and occasional changes to data formats are possible before the 1.0 release.

Copy-paste prompts

Prompt 1
Walk me through pulling and running the Kavita Docker container and pointing it at my comics folder.
Prompt 2
How do I create a new user in Kavita with access only to the manga section and an age restriction enabled?
Prompt 3
I want to organize my Kavita library into reading lists by author. How do I set that up through the web interface?
Prompt 4
My CBR files are not showing up in Kavita. What file format requirements or folder structure does it expect?
Open on GitHub → Explain another repo

← kareadita on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.