Your library lives
in the terminal.

TerminalReader is a fast, keyboard-first EPUB reader for Linux, macOS, and Windows โ€” with reading progress that follows you to your Kobo, Kindle, or any KOReader device.

100% free & open source 0 telemetry Rust ยท AGPL-3.0 Linux ยท macOS ยท Windows
$ curl -fsSL https://raw.githubusercontent.com/Kardzhilov/TerminalReader/main/install.sh | sh

Windows? PowerShell one-liner below.

Animated demo: browsing a library and reading Pride and Prejudice in TerminalReader

Everything a reader needs. Nothing it doesn't.

No Electron, no accounts, no cloud lock-in. One small binary that opens instantly and gets out of the way.

๐Ÿ“

Typography that respects the text

Configurable column width, full justification, and clean chapter layout. Resize your terminal mid-sentence โ€” the word you were reading stays put.

๐Ÿ”„

Syncs with your e-reader

Speaks KOReader's kosync protocol. Read at your desk, pick up the exact paragraph on your Kobo or Kindle at night โ€” via kosync.eu, the official server, or self-hosted.

โšก

Instant libraries

Point it at a folder of EPUBs. Metadata is cached by file signature, so even large collections open in milliseconds after the first scan.

๐Ÿ”

Private by design

Credentials go in your OS keyring โ€” never on disk. Logs redact secrets. No analytics, no phone-home, and NO_COLOR is honored.

๐Ÿ–ฑ๏ธ

Keyboard first, mouse complete

Every menu is clickable with hover highlighting; the page itself stays distraction-free. Press ? anywhere for help.

๐ŸŽจ

Nine themes, or yours

Gruvbox, dracula, nord, solarized, catppuccin, tokyo-night, and more โ€” cycle them live from Settings. Or set a custom accent in config.toml.

๐Ÿ”–

Search, bookmarks, stats

Search the whole book with /, drop bookmarks with m, and see your session's pages and reading time when you put the book down.

๐Ÿ› ๏ธ

Zero-maintenance

Self-updates with one command, a built-in doctor that checks everything from config to live server auth, and an offline queue that syncs when you're back online.

One book. Every device. Same paragraph.

TerminalReader implements the same progress-sync protocol as KOReader, down to the document hashes and position pointers.

01

Sign in once

Create a free account on kosync.eu right from Settings โ€” just a username and password. Or point it at your own server.

02

Read anywhere

Progress is pulled when you open a book and pushed when you close it, with configurable prompt/silent strategies in each direction.

03

Never lose your place

Offline? Progress queues on disk and syncs later. Positions map through KOReader xpointers, so devices agree on the exact paragraph.

See it in action

Captured from the real app, reading public-domain classics from Project Gutenberg.

Reader view showing justified text of Pride and Prejudice
The reader โ€” clean columns, page position, chapter navigation.
Table of contents popup with filter
Filterable table of contents.
Library view listing five classic books
Your library, searchable as you type.
Settings screen with reading and sync options
Reading preferences and sync โ€” every option one key (or click) away.
Settings screen restyled by the gruvbox theme preset
Theme presets โ€” gruvbox, dracula, nord, and friends โ€” applied live.
Spacenext page
ttable of contents
/ then nsearch the book, jump between matches
m / Madd a bookmark / open bookmarks
s / ppush / pull sync progress
?help overlay, on every screen
Escsave your place and step back

Install in seconds

One command. No package manager required, nothing to configure โ€” the first run walks you through picking a library folder.

๐Ÿง Linux & ๐ŸŽ macOS

curl -fsSL https://raw.githubusercontent.com/\
Kardzhilov/TerminalReader/main/install.sh | sh

Installs to ~/.local/bin. x86_64 and ARM supported.

๐ŸชŸ Windows

irm https://raw.githubusercontent.com/\
Kardzhilov/TerminalReader/main/install.ps1 | iex

Installs to %LOCALAPPDATA%\Programs and updates your PATH.

๐Ÿฆ€ From source

git clone https://github.com/Kardzhilov/TerminalReader
cd TerminalReader
cargo install --path crates/tr-tui

Rust 1.85+. Fully open โ€” audit every line.

Free forever. Because reading should be.