← All open source projects

KOReader

koreader/koreader

KOReader is a reading app for PDF, EPUB, DjVu, FB2, and other formats on e-ink, Android, and Linux devices.

Forks 1,763
Author koreader
Language Lua
License AGPL-3.0
Synced 2026-06-27

In Short

KOReader focuses on reading rather than book stores: it supports many formats, PDF/DjVu reflow, flexible typography, OPDS, and calibre integration.

What It Is

KOReader is a document reading app primarily aimed at e-ink devices. It runs on Kindle, Kobo, PocketBook, reMarkable, Android, and Linux.

What Is Inside

The project supports PDF, DjVu, CBT, CBZ, EPUB, FB2, Mobi, DOC, RTF, HTML, CHM, TXT, and some ZIP scenarios. Scanned PDF and DjVu files can be reflowed with the built-in K2pdfopt library.

How People Use It

People choose KOReader when they care about reading control: fonts, margins, hyphenation, styles, calibre libraries, and making complex PDFs usable on e-ink.

Example

Library Scenario

The example shows how people often think about KOReader: device, formats, and an outside book source.

Language: Plain text
Device: Kobo Libra
Formats: EPUB, PDF, DjVu
Library: calibre OPDS
Goal: read technical books with custom margins and fonts

Strengths

KOReader’s strength is portability and format breadth. One app can become the main reader across devices instead of being tied to one store.

Limits

The limitation is setup and learning. On some devices KOReader requires extra steps, and its interface has many settings, which can be too much for someone who only needs store-bought EPUB reading.

Project Context

KOReader is maintained in the koreader/koreader repository; its public history starts on 2013-03-24. The primary metadata language is Lua, and the license is AGPL-3.0. The project also has a dedicated site: http://koreader.rocks/.

This context keeps the page grounded in a specific repository: the project has an owner, technical base, license, change history, and real constraints of its ecosystem.

KOReader should be evaluated through a concrete scenario: who will maintain it, where it fits in the existing stack, which updates must be tracked, and what happens if it fails. That view is more useful than installing a project just because it is popular, because open source helps only when its role in the system is clear to the team.