Preview
Open Original
CLI PDF/EPUB Reader
A terminal-based PDF and EPUB reader with fuzzy file search, high-resolution image rendering, and intelligent text reflow.
Screenshots
Features
- Fuzzy File Search: Interactive file picker with fuzzy search to quickly find your PDFs and EPUBs
- Smart Content Detection: Automatically detects and displays text, images, or mixed content pages
- High-Resolution Image Rendering: Uses terminal graphics protocols (Sixel/Kitty/iTerm2) for crisp image display
- Intelligent Text Reflow: Automatically reformats text to fit your terminal width while preserving paragraphs
- Terminal-Aware: Detects your terminal type and optimizes rendering accordingly
- Both Formats: Supports PDF and EPUB documents
Navigation
jorSpace- Next page …
CLI PDF/EPUB Reader
A terminal-based PDF and EPUB reader with fuzzy file search, high-resolution image rendering, and intelligent text reflow.
Screenshots
Features
- Fuzzy File Search: Interactive file picker with fuzzy search to quickly find your PDFs and EPUBs
- Smart Content Detection: Automatically detects and displays text, images, or mixed content pages
- High-Resolution Image Rendering: Uses terminal graphics protocols (Sixel/Kitty/iTerm2) for crisp image display
- Intelligent Text Reflow: Automatically reformats text to fit your terminal width while preserving paragraphs
- Terminal-Aware: Detects your terminal type and optimizes rendering accordingly
- Both Formats: Supports PDF and EPUB documents
Navigation
jorSpace- Next pagek- Previous pageg- Go to specific pageh- Show helpq- Quit
Installation
- Clone this repository:
git clone https://github.com/Yujonpradhananga/CLI-PDF-EPUB-reader.git
cd CLI-PDF-EPUB-reader
- Run the binary:
./lnreader
Building from source (optional):
go mod download
go build -o lnreader
Dependencies
- Go 1.21+
- go-fitz - PDF/EPUB parsing
- go-termimg - Terminal image rendering
- imaging - Image processing
- fuzzy - Fuzzy search
- golang.org/x/term - Terminal control
Supported Terminals
Optimized for terminals with graphics support:
- Kitty
- WezTerm
- iTerm2
- Alacritty
- Foot
- xterm (with Sixel support)
Works in any terminal, but image rendering quality depends on terminal capabilities.
How It Works
The reader scans your home directory, Documents, Downloads, and Desktop for PDF/EPUB files. Use the fuzzy search to quickly filter and select a file. The viewer intelligently detects whether pages contain text, images, or both, and renders them appropriately for terminal display.
License
MIT
Made with ❤️ by Yujon Pradhananga