TERMINAL
EPUB
READER
// FULL-FEATURED EPUB RENDERING • IMAGES • TABLES &
CODE BLOCKS • VIM KEYBINDINGS • MOUSE SUPPORT
INLINE
ANNOTATIONS • LOCAL & GLOBAL SEARCH
READ
TECHNICAL BOOKS WITHOUT LEAVING YOUR TERMINAL
Built for technical reading
Everything you need to read and research technical books in your terminal
Complete EPUB/HTML rendering
Proper table layouts, syntax-highlighted code blocks, bold/italic text, blockquotes, lists, and MathML equations. Uses html5ever parser—reads like the author intended.
Annotate & research
Press 'a' on any selection to attach timestamped notes. Full-text search across books. Copy chapters or selections. Your reading workspace in the terminal.
Vim keybindings + mouse support
Full vim motions (j/k, gg/G, /, Ctrl+o/i) for keyboard users. Comprehensive mouse support for everyone else. Use whichever you prefer—or both.
Never lose your place
Automatic bookmarks per book. Reading history popup (Space+h). Chapter statistics and progress tracking. Jump list remembers your navigation path.
Works in any terminal
Auto-detects true color (24-bit) or falls back to 256-color palette. Images render via Kitty, Sixel, iTerm2, or Unicode halfblocks—whatever your terminal supports.
Cross-platform
Native binaries for macOS (Intel & Apple Silicon) and Linux. Install via Homebrew, download pre-built binaries, or build from source on any platform including Windows.
Get Started
Homebrew (macOS)
brew install bookokrat
Pre-built Binary (Linux)
Download from GitHub Releases. Static musl binary works on all distributions.
curl -LO https://github.com/bugzmanov/bookokrat/releases/latest/download/bookokrat-v0.2.1-x86_64-unknown-linux-musl.tar.gz
Cargo (all platforms)
Build from source with Cargo (Rust's package manager). Get Rust at rustup.rs
Building from source requires a C compiler/linker:
sudo apt update && sudo apt install build-essential
sudo dnf install gcc make
xcode-select --install
cargo install bookokrat
2. Run
bookokrat3. Use
j/k to navigate, Enter to open a book, ? for help
Install a C compiler:
xcode-select --install (macOS), sudo apt install build-essential (Debian/Ubuntu), or sudo dnf install gcc make (Fedora).
See it in action
Watch bookokrat handle real technical content
How does it compare?
Terminal EPUB readers compared side-by-side
| Feature ↓ / Reader → | Bookokrat | bk | epr | epy | baca | Lue |
|---|---|---|---|---|---|---|
| EPUB support | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Inline images in terminal | ✓ | ✗ | ✗* | ✗* | ✓ (ANSI) | ✗ |
| MathML rendering | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Table of contents | ✓ | ✓ | ✓ (basic) | ✓ | ✓ | ✗ |
| Search | ✓ (chapter & book) | ✓ (incremental) | ✓ (regex) | ✓ | ✓ (regex) | ✗ |
| Bookmarks / resume | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Highlights / notes | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Text-to-speech (TTS) | ✗ | ✗ | ✗ | ✓ | ✗ | ✓ |
| Multi-format (beyond EPUB) | ✗ | ✗ | ✗ | ✓ | ✓ | ✓ |
| Library / history view | ✓ | ✗ | ✓ | ✓ | ✓ | ✗ |
Image Rendering
Bookokrat auto-detects the best image protocol for your terminal. Here's what to expect.
Ghostty
iTerm2
(some flickering)
Linux default terminal
(halfblocks)
Terminal.app
| Terminal | Protocol | Notes |
|---|---|---|
| Kitty | Kitty | Native support |
| Ghostty | Kitty | Native support |
| iTerm2 | Sixel | Native protocol causes flickering; Kitty buggy in recent betas |
| WezTerm | iTerm2 | Kitty buggy (#986); Sixel broken on Windows (#5758) |
| Alacritty | Halfblocks | No graphics protocol support (#910) |
| Others | Auto-detect | Kitty → Sixel → iTerm2 → Halfblocks |
bookokrat.log for the detected protocol.