EP

epub.js

JavaScript library for rendering EPUB books in the browser

E-books & Media Library ★ 7k stars Easy setup BSD-3-Clause

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

AdvisorySeveritySummary
CVE-2021-33040Mediummanagers/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.

SelfHostIndex: 60 · good

Markdown
[![SelfHostIndex health score for epub.js](https://selfhostindex.com/badge/epub-js.svg)](https://selfhostindex.com/app/epub-js/)
HTML
<a href="https://selfhostindex.com/app/epub-js/"><img src="https://selfhostindex.com/badge/epub-js.svg" alt="SelfHostIndex health score for epub.js"></a>
reStructuredText
.. image:: https://selfhostindex.com/badge/epub-js.svg
   :alt: SelfHostIndex health score for epub.js
   :target: https://selfhostindex.com/app/epub-js/

The score is recomputed on every nightly rebuild from public repository data — see how it is calculated.

Similar e-books & media library apps