epub.js is a JavaScript library for parsing and displaying EPUB files within a web browser. It functions as a digital publication layout engine and rendering library that enables the creation of browser-based eBook readers with support for both paginated spreads and continuous scrolling.
The project provides a specialized framework for interactive eBook annotation and precise location tracking. It uses Content Fragment Identifiers to represent text positions as unique strings, allowing for stable bookmarking, text highlighting, and note-taking.
The library covers a broad range of capabilities, including EPUB content parsing, typography and theme customization, and reader progress tracking. It also includes tools for searching section text and manipulating document layouts via viewport scaling and document sandboxing.