Skip to content(if available)orjump to list(if available)

KOReader: Open-Source eBook Reader

KOReader: Open-Source eBook Reader

104 comments

·March 31, 2025

II2II

KOReader is an amazing program that has progressed at amazing speed over the past few years, particularly when it comes to the user interface. (It can still be overwhelming, because of the sheer number of features, but it is much better organized.)

To give you an idea of how different it is from commercial products: it actually tracks reading in a useful way. It shows a chart of how long you have spent on each page, so you can figure out which parts of a book you have not yet read. That is really useful when jumping around technical books. If you are interested in tracking your general reading habits, there are handy views that shows which books you have read and when you read them (either by time of day or across a month).

As for reading PDFs, well, eInk has its limitations and KOReader does it's best to work around them. If you want to read a multicolumn paper on a small screen, you can configure it to go down one column then right back to the top of the next column. If you want there to be overlap between the screens when panning, you can configure that. You can also have it display which parts were overlapping, so you don't get lost when it displays the next part.

There is tonnes of other stuff in there. I just mentioned those two because I use them the most. Overall I would say it feels like KOReader was designed by people who want an amazing reading experience, rather than by people trying to sell novels.

goosedragons

Have they really improved the interface? I tried it a few years ago and while it certainly has a lot of features I found it be sort of confusing to use compared to the built-in Kobo, Kindle, Boox options.

Some of those features like the column panning are also available in Boox's default reader.

graemep

It was the only thing I could find that works well on a Linux tablet. Other readers have poor controls for a touch screen.

exe34

> If you want to read a multicolumn paper on a small screen, you can configure it to go down one column then right back to the top of the next column. If you want there to be overlap between the screens when panning, you can configure that. You can also have it display which parts were overlapping, so you don't get lost when it displays the next part

That's insane, I thought it was already good with a whole page, I will have to explore this more. Might need to update it as well, since I installed it a few years ago.

no_time

Very impressive how the almost the entire application is written in lua(JIT). Particularly impressive how it is fast enough to do CPU blitting/blending[0]

I wonder why is lua so rarely utilized like this on its own. Such a neat language.

[0]: https://github.com/koreader/koreader-base/blob/master/ffi/bl...

jszymborski

Running on my Pixel 6a, I wouldn't really characterize it as super responsive. This context, I think, helps me understand why.

OuterVale

Absolutely love KOReader. I use it on my Kindle 3 and have moved my parents and brother over to using it on their Kindles as well. You can even install it on relatively new models thanks to the recent WinterBreak gaolbreak.

There was some discussion about it on HN not long ago:

All Kindles can now be jailbroken | 1377 points by lumerina | 2025/02/17 | https://news.ycombinator.com/item?id=43073969

I found KOReader's Android app a tad buggy, but the experience is wonderful on Kindles. If you've got an old Kindle kicking around, I also wrote up a little thing about bringing them up to speed which mentions KOReader: https://vale.rocks/posts/improving-early-kindles

jwrallie

Same experience on a PaperWhite 2, been using it for a long time.

It is a good reason to look into rooting, PDF reflow and the function to remove margins make it possible (at least tolerable) to read PDFs when an .epub / .mobi is not available.

You can also run Alpine Linux on a rooted Kindle with graphical interface, I found it amazing but ultimately not that useful with the limited system memory.

lotharcable2

PDF reflow is one of the major reasons I am using Koreader. The whole thing is very clever and works extremely fast given the limited nature of these devices.

deng

Instead of simply praising KOReader, let me add that it is also incredibly hackable. The vast majority of KOReader is written in Lua, and adding your own feature is usually not that hard. I added support for Kobo natural light a few years ago, and found the code base to be very understandable and nice to work with.

sodality2

Got this on my Kindle after the jailbreak came out in January. It's fantastic, especially the OPDB index + self hosted calibre-web means I can just download an epub on any device, drop it on a webpage, then search it on KOReader immediately. I did not want to use USB or Amazon's plumbing to transfer, so this is great. Tons of customization over the built-in reader.

pidgeon_lover

How do you connect your Kindle to the internet to access OPDB/Calibre-web without losing your jailbreak?

Every time I connect my Kindle 4 to the internet, it disables developer mode and I have to rejailbreak. This is despite using an update disabler plugin (I've tested them all).

sodality2

I used Winterbreak [0] and used the renameotabin extension to block updates.

[0]: https://kindlemodding.org/jailbreaking/WinterBreak/

homebrewer

It probably depends on your model, I jailbroke my paperwhite 7 (10-year old model) back in January, and it hasn't been reverted since, even though it's always connected to the internet.

rraghur

Kual+ had an option to stop auto updates... KT4 here

BeetleB

For people on Kobo: Koreader handles standard epub way better than the native reader.

If you've ever tried reading an epub using Kobo that you didn't buy from the Kobo store, you may have noticed that highlighting text is very laggy. Koreader has no such lag.

theshrike79

This can also be fixed by converting books to KEPUB with Calibre, it'll also (for some reason) make page turns faster.

BeetleB

Yes, that's true, but I'd rather keep them as ePub so it will work well with other readers.

lazyeye

I find it easier to do this using kepubify in a script

https://pgaskin.net/kepubify/

freeAgent

I believe Calibre (very) recently added a feature to make conversion to kepub automatic when transferring to a Kobo, so things may have changed on the ease of use front.

ZeWaren

I manage my ebooks using a self-hosted instance of calibre-web. This allows me to sync my library to my Kobo e-reader using KOreader.

Also, turning pages is faster than with the stock reader of the device.

https://github.com/janeczku/calibre-web

stanac

OPDS (Open Publication Distribution System) is protocol in the background. Jellyfin has a plugin for OPDS and works by simply dropping a file in specified directory, but it doesn't support multiple catalogues (i.e. one per library/directory).

Protocol is atom based, chatgpt was able to make a custom OPDS server for my needs within minutes, it took another hour or two to fix and customize generated code.

bobchadwick

Are you able to sync progress? I can access my calibre-web library, but I've been unable to figure out how to sync progress.

brunoqc

To sync progress, you can use `https://sync.koreader.rocks/` as a custom sync server. While in a book, top bar, settings, "Progress sync".

I think it works using the file name of the epub. Not sure.

E39M5S62

I wonder if load times have improved. I had this on my Kobo Libra 2, and it took it easily 5 minutes or more to open an admittedly large epub file. Changing the font size also incurred a huge penalty as it reflowed the entire document.

Conversely, the built-in software never struggled with that file.

II2II

I ended up getting a faster Kobo! Thankfully, the slow load is a one time thing, per book. Depending upon when you tried it, KOReader has switched to a progressive model of updating it's caching (with most of it being handled in the background) when modifying a book's formatting.

That said, I think this may be mostly based upon a book's formatting. Messing around with upload options in Calibre may help. (For example, Calibre recently added an option to speed up load times with Kobo's reader software.)

mkozlows

That Calibre option isn't relevant -- it's for Kobo's native stuff, which treats "KEPUB" different from regular ePub, in ways that I haven't bothered to remember.

homebrewer

I think it builds a full text search index by default, have you tried disabling that?

philips

I am looking forward to the macOS release. I use it on my Supernote, Inkpalm 5 and my kids Kindle.

Koreader is wonky in places. But, like vi and bash, you get used to the wonkiness and it works well enough for the job and is everywhere.

pdesi

[dead]

stonecharioteer

I gave KOReader a go after seeing this thread yesterday. I tried using it a year ago and gave up because the UI was so alien to me. It almost reminds me of Winamp in a sense.

But I gave it a go again and this time I spent time figuring out how to sync between devices. I've yet not synced files but here's what I got so far.

1. Koofr WebDAV for Reading Statistics sync 2. Kobo's built-in sync for progress

Both of these are free. This is a reminder mostly for myself that you need to use the service password for WebDAV access for koofr and not your koofr account's password. And make sure you save your koreader user credentials somewhere.

I'm still not happy with the keyboard situation, the koreader keyboard is ugly but I guess it's optimized for eink so that's something. I don't really type any notes into books. I mostly prefer being able to sync progress and have a centralized view of my reading statistics. And this works.

I copied all my books over manually for now, I'm happy with this. I have the following devices 1. Phone - OnePlus Open 2. eReader - Boox Tab Mini C 3. eReader - Boox Palma 1 4. Samsung Galaxy Tab S9 Ultra

Things I didn't know I needed: 1. The reading statistics. This tracks every eBook I read, and I don't have to use anything else. 2. Book map - Knowing how much time I spent in each chapter is a godsend. This really helps me understand things like this. 3. The speed reading module - perception expander - I'd never heard of this from Tim Ferris so it was new to me. I am giving it a go, and I'm not sure it's improving my reading speed but it feels like it's improving my comprehension!

Thank you to everyone who puts in the work on koreader!

ksynwa

Fair warning to those who are interested. If you are the kind of person who gets lost dabbling in configuration and customisation Koreader will keep you very busy with that. Once you get past that it is very worth it if you aren't tethered to your ereader's book store ecosystem (if it has one). On my Kobo ereader it is much much faster than the default interface and has extra bells and whistles that I really appreciate.

arkx

I wish it supported vertical text and reading right-to-left (Japanese). It's a long-standing issue that doesn't seem likely to be solved (https://github.com/koreader/koreader/issues/4353). The relevant standard is https://www.w3.org/TR/css-writing-modes-3/, which is part of supporting ePub 3.