You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
yparitcher 8f316b1e8c
Merge `discardEvents` & `inhibitInput` (#9065)
7 hours ago
.ci CI: force using luacheck 0.25.0 2 months ago
.circleci [CI] Fix CircleCI context issue by separating out docs & translations (#8614) 5 months ago
.github [CI] Update macOS GitHub Action to macOS 11 (#8525) 5 months ago
base@231cedca24 bump crengine: hyphen char and table thead fixes (#9088) 2 weeks ago
doc [doc] Update busted version mentioned in docs (#9078) 2 weeks ago
frontend Merge `discardEvents` & `inhibitInput` (#9065) 7 hours ago
l10n@6751e03985 Update translations for 2022.05 (#9118) 3 days ago
metadata/en-US F-Droid description: tame expectations (#8178) 9 months ago
platform Kobo: Kill new FW 4.32 stuff on startup (#9010) 1 month ago
plugins fix: attempt to call local start_time (number) (#9086) 2 weeks ago
resources Keyboard: add Bengali Probhat layout (#8887) 2 months ago
spec/unit Refactor exporter.koplugin (#8944) 2 weeks ago
test@86eeb0b43d various test/coverage optimization 6 years ago
tools keyboard: japanese: always put digits as the south gesture for latin (#8443) 6 months ago
.busted Travis update 7 years ago
.codecov.yml [CI] Add .codecov.yml (#4695) 3 years ago
.editorconfig experimental port to Mac OSX 6 years ago
.gitignore Add macOS target 2 years ago
.gitmodules add basic metadata for F-Droid 11 months ago
.luacheckrc luacheckrc: allow busted's "match" global for spec/ (#8369) 7 months ago
.luacov [CI] Also run coverage on plugins (#3447) 5 years ago
.shellcheckrc [CI] Add curly braces check (#5809) 2 years ago
.travis.yml quickstart fix (#2804) 5 years ago
COPYING switch license to AGPLv3 8 years ago
Makefile Unbreak Kobo build (#8882) 3 months ago Readme: Tame down expectations (#8177) 9 months ago
datastorage.lua Fix koreader not using XDG_CONFIG_HOME on linux (#8507) 6 months ago
defaults.lua Raise DocumentCache hard cap to 512MB 9 months ago
kodev Bump android backend (#7813) 12 months ago
reader.lua Initial Kindle PW5 support (#8856) 2 months ago
setupkoenv.lua setupkoenv: ffi.load: search rocks 3 months ago


KOReader is a document viewer primarily aimed at e-ink readers.

AGPL Licence Latest release Gitter Mobileread Build Status Coverage Status Weblate Status

DownloadUser guideWikiDeveloper docs

Main features

  • portable: runs on embedded devices (Cervantes, Kindle, Kobo, PocketBook, reMarkable), Android and Linux computers. Developers can run a KOReader emulator in Linux and MacOS.

  • multi-format documents: supports fixed page formats (PDF, DjVu, CBT, CBZ) and reflowable e-book formats (EPUB, FB2, Mobi, DOC, CHM, TXT). Scanned PDF/DjVu documents can also be reflowed with the built-in K2pdfopt library.

  • full-featured reading: multi-lingual user interface with a highly customizable reader view and many typesetting options. You can set arbitrary page margins, override line spacing and choose external fonts and styles. It has multi-lingual hyphenation dictionaries bundled into the application.

  • integrated with calibre (search metadata, receive ebooks wirelessly, browse library via OPDS), Wallabag, Wikipedia, Google Translate and other content providers.

  • optimized for e-ink devices: custom UI without animation, with paginated menus, adjustable text contrast, and easy zoom to fit content or page in paged media.

  • extensible: via plugins

  • fast: on some older devices, it has been measured to have less than half the page-turn delay as the built in reading software.

  • and much more: look up words with StarDict dictionaries / Wikipedia, add your own online OPDS catalogs and RSS feeds, over-the-air software updates, an FTP client, an SSH server, …

Please check the user guide and the wiki to discover more features and to help us document them.



Please follow the model specific steps for your device:



Setting up a build environmentCollaborating with GitBuilding targetsPortingDeveloper docs


KOReader is developed and supported by volunteers all around the world. There are many ways you can help:

Right now we only support liberapay donations, but you can also create a bounty to motivate others to work on a specific bug or feature request.


Last commit Commit activity