A desktop EPUB reader built with Tauri, SvelteKit, and Rust.
Rustle is an offline e-book reader focused on fast book loading and a distraction-free reading experience. It uses memory-mapped file I/O and a custom zero-copy EPUB parser (light-epub) to keep things responsive even with large libraries.
- Library management - Import books by scanning a folder. Books are indexed locally with cover extraction and metadata parsing.
- Reading - Chapter-based navigation with table of contents, keyboard controls, and reading progress persistence.
- Annotations - Highlights, bookmarks, and notes tied to specific text positions. Annotations survive across sessions.
- Theming - Light, sepia, and dark modes with adjustable font size and brightness.
- CSS sanitization - Strips publisher styles down to a safe subset to keep rendering consistent.
- Rust (stable)
- Node.js 18+
- pnpm
- Platform-specific Tauri dependencies — see Tauri prerequisites
pnpm install
pnpm tauri dev- In-book text search
- PDF support
- Dictionary lookup
- Page-height scroll (Space/PgDown)
- Export annotations (Markdown/JSON)
- Reading time tracking
- Paginated Layout Mode
- OPDS catalog support
- Cross-platform testing (Linux, macOS)
This project is licensed under the AGPL-3.0