aeosynth/bk

Terminal Epub reader

Rust

339

165 commits

updated Jun 9, 2024

See the code

README

bk

bk is a terminal EPUB reader, written in Rust.

Features

  • Cross platform - Linux, macOS and Windows support
  • Single binary, instant startup
  • EPUB 2/3 support
  • Vim bindings
  • Incremental search
  • Bookmarks

Install

Install from crates.io:

cargo install bk

or from github:

git clone https://github.com/aeosynth/bk
cargo install --path bk

Usage

Usage: bk [<path>] [-m] [-t] [-w <width>]

read a book

Options:
  --bg              background color (eg 282a36)
  --fg              foreground color (eg f8f8f2)
  -m, --meta        print metadata and exit
  -t, --toc         start with table of contents open
  -w, --width       characters per line
  --help            display usage information

Running bk without a path will load the most recent EPUB.

Type any function key (eg F1) to see the keybinds.

Check if your terminal supports italics:

echo -e "\e[3mitalic\e[0m"

Comparison

bkepr/epy
runtime deps❌python, curses
wide characters✔️❌
incremental search✔️❌
multi line search✔️❌
regex search❌✔️
links✔️❌
images❌✔️
themes✔️✔️
choose file from history❌✔️
additional formats❌FictionBook, Mobi, AZW3
external integrationsee 1dictionary

1: you can use the --meta switch to use bk as a file previewer with eg nnn

Inspiration

https://github.com/wustho/epr

cli
console
ebook
epub
rust
terminal

Significant stargazers

Iku Iwasa

36 followers · starred Dec 2020

TOMIKAWA Sotaro

129 followers · starred Aug 2026

Aaron Janse

290 followers · starred Mar 2021

aeosynth/bk

Terminal Epub reader

Rust

339

165 commits

updated Jun 9, 2024

See the code

README

bk

bk is a terminal EPUB reader, written in Rust.

Features

  • Cross platform - Linux, macOS and Windows support
  • Single binary, instant startup
  • EPUB 2/3 support
  • Vim bindings
  • Incremental search
  • Bookmarks

Install

Install from crates.io:

cargo install bk

or from github:

git clone https://github.com/aeosynth/bk
cargo install --path bk

Usage

Usage: bk [<path>] [-m] [-t] [-w <width>]

read a book

Options:
  --bg              background color (eg 282a36)
  --fg              foreground color (eg f8f8f2)
  -m, --meta        print metadata and exit
  -t, --toc         start with table of contents open
  -w, --width       characters per line
  --help            display usage information

Running bk without a path will load the most recent EPUB.

Type any function key (eg F1) to see the keybinds.

Check if your terminal supports italics:

echo -e "\e[3mitalic\e[0m"

Comparison

bkepr/epy
runtime deps❌python, curses
wide characters✔️❌
incremental search✔️❌
multi line search✔️❌
regex search❌✔️
links✔️❌
images❌✔️
themes✔️✔️
choose file from history❌✔️
additional formats❌FictionBook, Mobi, AZW3
external integrationsee 1dictionary

1: you can use the --meta switch to use bk as a file previewer with eg nnn

Inspiration

https://github.com/wustho/epr

cli
console
ebook
epub
rust
terminal

Significant stargazers

Iku Iwasa

36 followers · starred Dec 2020

TOMIKAWA Sotaro

129 followers · starred Aug 2026

Aaron Janse

290 followers · starred Mar 2021

Languages

Rust

100.0%