A dinosaur that reads books
Nikolay Pultsin//2nd September 2026
On the last day of summer 2026 we released DinoReader, a new ebook reader from the FBReader team.
This might sound a little strange. We have been developing FBReader for more than twenty years, and now we are suddenly releasing another ebook reader. So I would like to explain why.
The short answer is: we wanted to rethink FBReader for the new generation of e-ink devices. And at some point it became easier to do this in a new app than to carry all the decisions we have made over the past twenty years.
DinoReader uses the FBReader reading engine, but everything around it is different.
Why e-ink?
It feels like e-ink is having a renaissance. A lot of vendors make interesting devices: Bigme, BOOX, inkBOOK, Viwoods, and others on Android; Xteink and reMarkable outside the Android world.
And the e-ink world of 2026 is very different from the one we knew in the 2010s. At one end, modern colour e-ink devices are fast enough that it makes sense to enable page animations. At the other end, there are much simpler devices where even opening a web page is not an option.
This variety is one of the reasons why we wanted a new interface. In DinoReader, menus are big, screens are simple, and many things are designed specifically with e-ink in mind. Web links can optionally be opened on another device by scanning a QR code.
One curious idea I spotted on reMarkable is two-finger text scrolling. It lets you scroll the text continuously when you want to, but makes accidental scrolling almost impossible — something particularly important on e-ink screens.
Why another app?
FBReader has more than twenty years of history. This is an advantage, but also a burden. We still support old library views, old network catalogue implementations and many other things because existing FBReader users may depend on them.
With DinoReader we could simply drop them.
This gave us the freedom to finally implement things I had wanted for a long time: transparent synchronisation, OPDS 2.0, multi-selection in the library, a different navigation model and a lot of smaller changes.
PDF support is also much better than in the current FBReader, including LCP-protected PDF books and reading aloud. That became possible as we felt free to switch to a new PDF engine.
So DinoReader is not a completely new reader. It is, in a way, FBReader without twenty years of UI and application-level legacy.
And Readino
DinoReader comes with our Readino Bookshop catalogue configured out of the box.
But it is not a Readino-only reader. You can add other OPDS 1.x and OPDS 2.0 catalogues, and you can even disable Readino completely.
I believe this is important. We are not building another reader system where the application and the bookshop are inseparable.
What is missing?
DinoReader already includes most of FBReader’s important features, with one major exception: dictionaries and translation. This part needs a redesign rather than simply copying the existing FBReader implementation. We are looking at both device-specific features and modern online services, including AI-based ones.
Some features relying on external services may eventually be paid, but DinoReader itself will remain free.
Does this mean the end of FBReader?
Absolutely not.
FBReader will continue to grow, and successful ideas from DinoReader will gradually find their way back into FBReader.
DinoReader can move much faster because it does not have to preserve all of FBReader’s application-level legacy.
So perhaps the relationship is this: DinoReader inherits twenty years of FBReader’s reading engine, while FBReader can inherit the things we learn by building DinoReader.
These days I actually read my books in DinoReader. And every now and then I use some feature and catch myself thinking: oh, we should have this in FBReader too.