CoolReader is a long-established eBook reader built around CREngine, its XML, CSS and document-rendering engine. The project targets desktop systems as well as handheld and e-ink devices, and its code has influenced several related readers.
Its design reflects an era when personal eBook libraries often contained many competing formats. Rather than centring everything on EPUB, CoolReader retains parsers and rendering paths for a broad range of reflowable documents and applies a common reading engine to them.
The desktop application is only one part of the project. CREngine is the more important technical foundation, providing the layout and text-rendering machinery that underpins CoolReader itself and has also been reused or forked elsewhere.
This is free and open source software.
Key Features
- Reads FB2, TXT, RTF, DOC, TCR, HTML, EPUB, CHM, PDB and MOBI documents.
- Uses CREngine to parse, lay out and render XML, HTML and CSS based eBook content.
- Supports stylesheet-driven presentation so the appearance of books can be customized beyond their embedded defaults.
- Provides graphical Linux interfaces based on Qt and wxWidgets, alongside front ends intended for embedded and e-ink hardware.
- Uses HarfBuzz for text shaping and supports bidirectional text through FriBidi.
- Employs language-aware line-breaking and hyphenation components to improve text layout for reflowable books.
- Supports font discovery and fallback, allowing the renderer to select suitable typefaces for different scripts and books.
- Includes dictionary-related components for lookup workflows supported by the reader.
- Retains a relatively lightweight reader architecture compared with full eBook management suites.
- Shares its rendering technology with other readers in the CoolReader family, including projects built around crengine-ng.
Website: github.com/buggins/coolreader
Support:
Developer: Vadim Lopatin
License: GNU General Public License v2.0

CoolReader is written in C++, C and Java. Learn C++ with our recommended free books and free tutorials. Learn C with our recommended free books and free tutorials. Learn Java with our recommended free books and free tutorials.
Related Software
| GUI eBook readers | |
|---|---|
| KOReader | Advanced multi-format reader with excellent customisation |
| Koodo Reader | Feature-rich eBook reader and library manager |
| Foliate | Polished GTK eBook reader |
| Calibre | Powerful eBook library manager, reader and conversion suite |
| readest | Modern eBook reader with syncing and advanced reading tools |
| Thorium | Highly accessible multi-format eBook reader |
| Librum | eBook reader with synchronized library |
| Lector | Qt based e-book reader |
| Bookworm | Simple, focused GTK eBook reader |
| Arianna | KDE EPUB reader and library manager |
| crqt-ng | Fast Qt eBook reader using crengine-ng |
| CoolReader | Lightweight XML/CSS based eBook reader |
| apvlv | Vim-like graphical document viewer |
| FBReader | Makes it simple to access free literature |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.