Top
Best
New

Posted by charleshan 3/31/2025

KOReader: Open-Source eBook Reader(github.com)
420 points | 106 comments
II2II 4/1/2025|
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 4/1/2025||
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.

II2II 4/2/2025||
In my opinion, yes. On the other hand, I have been using KOReader for many years. When I started using it, it was very rough. At one point there was a fairly significant overhaul. Since then, there have been smaller incremental changes (which amount to a lot across the years). Of course, opinions of user interfaces will vary.

I am not going to claim that it is perfect. They cram a lot of functionality in there that serves a very diverse audience. The volume of options is going to have a negative impact is going to have a negative impact for anyone wanting a simple, to-the-point interface. The diverse audience bit means that virtually noone is going to be interested in a majority of the features, even though I suspect that a majority of users will interested in a combination of features that they won't find in other products.

While I may have been a bit unfair in saying that most commerical reading software is geared towards selling novels, I don't think that assessment is too far off base. Most software does appear to be designed for people who just read novels. KOReader is geared towards people who care about features that other reading software rarely provides.

exe34 4/1/2025|||
> 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.

graemep 4/1/2025||
It was the only thing I could find that works well on a Linux tablet. Other readers have poor controls for a touch screen.
no_time 4/1/2025||
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 4/1/2025|
Running on my Pixel 6a, I wouldn't really characterize it as super responsive. This context, I think, helps me understand why.
heinrich5991 4/2/2025||
Very snappy on my Pixel 4a. Not sure what's causing the performance problems on your phone.
OuterVale 4/1/2025||
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 4/1/2025|
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 4/1/2025||
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.
sodality2 4/1/2025||
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 4/1/2025|
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 4/1/2025|||
I used Winterbreak [0] and used the renameotabin extension to block updates.

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

homebrewer 4/1/2025||||
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 4/1/2025|||
Kual+ had an option to stop auto updates... KT4 here
deng 4/1/2025||
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.
BeetleB 4/1/2025||
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 4/1/2025|
This can also be fixed by converting books to KEPUB with Calibre, it'll also (for some reason) make page turns faster.
lazyeye 4/1/2025|||
I find it easier to do this using kepubify in a script

https://pgaskin.net/kepubify/

freeAgent 4/1/2025||
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.
theshrike79 4/3/2025||
It used to require a 3rd party plugin, but now KEPUB support is built in.
BeetleB 4/1/2025|||
Yes, that's true, but I'd rather keep them as ePub so it will work well with other readers.
E39M5S62 4/1/2025||
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 4/1/2025||
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 4/1/2025||
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 4/1/2025||
I think it builds a full text search index by default, have you tried disabling that?
E39M5S62 4/2/2025||
I have not. I uninstalled it two years ago and haven't felt the need to go back to it.
philips 4/1/2025||
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 4/1/2025|
[dead]
ZeWaren 4/1/2025||
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 4/1/2025||
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 4/1/2025||
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 4/2/2025||
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.

arkx 4/1/2025|
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.
More comments...