epub.js
JavaScript library for rendering EPUB books in the browser
epub.js is a JavaScript library that renders EPUB documents in the browser with pagination, theming, and annotation hooks. It is used to build self-hosted or embedded web-based ebook readers rather than being a standalone app.
Key features
- Browser-based EPUB rendering
- Pagination and themes
- Bookmarks support
- Embeddable reader library
Pros & cons
Strengths
- Released under the BSD-3-Clause license
- Easy to set up — beginner-friendly
- First-class Docker support for quick deployment
- Mature project with 7k GitHub stars
Trade-offs
- Library more than an app
- No central library management
Is epub.js secure?
1 known vulnerability affects epub.js's latest release (v0.3.88) according to OSV.dev; the most severe is rated medium.
Affecting v0.3.88
| Advisory | Severity | Summary |
|---|---|---|
| CVE-2021-33040 | Medium | managers/views/iframe.js in FuturePress EPub.js before 0.3.89 allows XSS. Fixed in 0.3.89 |
Source: OSV.dev, checked 2026-10-14. How this is measured.
Health badge
Maintain epub.js? Add its health score to your README. The badge links back to this page.
Similar e-books & media library apps
Free Programming Books
E-books & Media LibraryCurated catalog of free programming ebooks and resources
Replaces Paid technical book subscriptions
KOReader
E-books & Media LibraryDocument and ebook reader for e-ink and mobile devices
Replaces Kindle, Pocketbook reader
Koodo Reader
E-books & Media LibraryCross-platform ebook reader with annotations and sync
Replaces Calibre, Apple Books
Calibre
E-books & Media LibraryPowerful ebook library manager with a built-in server
Replaces Kindle, Apple Books
Readest
E-books & Media LibraryCross-platform ebook reader with sync server
Replaces Kindle, Apple Books
Ebook2audiobook
E-books & Media LibraryConvert ebooks into narrated audiobooks locally
Replaces Audible, Speechify