EPUB/FB2 Console Reader

Welcome FBII — the high-performance terminal e-book reader for FB2, FB2-in-ZIP, and EPUB (2.x / 3.x) written in Rust with Vim-like navigation controls.

Features

  • Format Parsing: Seamless parsing of .fb2, .fb2.zip, and .epub archives.
  • Auto Character Encoding: Auto-detects XML charset declarations and BOMs (UTF-8, Windows-1251, ISO-8859-1) via encoding_rs.
  • Database Storage: Async SQLite library management (sqlx) tracking reading history, progress, bookmarks, and reading sessions.
  • Library Management: Recursively scan a directory to bulk-import books (:scan <dir> or --scan-dir), delete books/bookmarks, sort the library (recent/title/author), and live-filter the library list.
  • Layout & Unicode Wrapping: unicode-width line wrapping with custom measure limits, configurable line/paragraph spacing, and hyphenation.
  • Full-Text Search Index: Fast NFKD Unicode-normalized search (stripping accents & diacritics), with correct word wrapping for space-free scripts (CJK, etc.).
  • Inplace Image Rendering: Images are rendered directly inside the scrollable text layout at their exact reading position using Kitty, Sixel, iTerm2, or Unicode half-blocks; press v to zoom any image to full size. Book cover art is also displayed in the Info modal (i).
  • CSS-Aware EPUB Parsing: Content marked with an inline display: none style is hidden by default; toggle C to reveal it.
  • Reading Stats: Session count and total pages read are tracked per book and shown in the Info modal.
  • OPDS Catalogs: Browse and download books from OPDS feeds; custom catalogs are persisted to the config file.
  • Themes: Built-in color palettes (dracula, monokai, github-dark, github-light).