awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
futurepress avatar

futurepress/epub.js

0
View on GitHub↗
futurepress.org↗

Epub.js

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.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Digital Book Renderers - Implements a comprehensive system for rendering digital books in the browser with paginated and continuous scrolling views.
  • Content Fragment Identifiers - Implements a specialized system using Content Fragment Identifiers to track precise text positions for stable bookmarks and annotations.
  • Document Rendering - Renders document pages onto a visual canvas using configurable layouts and viewing directions.
  • Digital Content Annotations - Supports adding, removing, and styling highlights and marks on specific text ranges using location identifiers.
  • Digital Publication Renderers - Provides a layout engine for rendering e-books and digital publications within a browser environment.
  • EPUB Structure Parsing - Provides tools to programmatically extract the spine and manifest of EPUB documents for building navigation menus.
  • Web-Based Readers - Offers a set of tools for building web-based readers with integrated pagination and scrolling.
  • Reading Location Management - Generates and converts reading positions between percentages, page numbers, and precise location identifiers.
  • Content Fragment Identifiers - Uses Content Fragment Identifiers to track and resolve precise text positions for stable bookmarking and highlights.
  • Layout Modes - Supports multiple viewing modes including paginated spreads and continuous scrolling for digital publications.
  • Pagination Controls - Provides pagination controls to move sequentially through a document, simulating a traditional reading experience.
  • Pagination Navigation - Handles pagination and page-turning logic to move through documents sequentially or via location jumps.
  • Document Annotators - Captures and displays text highlights and notes within the document to track reader progress.
  • Web-Based Readers - Provides a browser-based interface for rendering and interacting with EPUB documents.
  • Spine-Based Loading - Loads and renders document sections sequentially based on the EPUB manifest list defining the book's order.
  • EPUB Rendering Libraries - A JavaScript library for parsing and displaying EPUB files in the browser using configurable layouts.
  • Reading Progress Tracking - Tracks and persists the exact reading position and user preferences across different sessions.
  • Text Search and Marking - Allows locating specific text strings within document sections and returning their positions as ranges.
  • Document Structure Navigators - Allows movement through content using sequential page navigation or jumps to specific locations via identifiers.
  • User Preference Persistence - Saves and restores the reader's current progress and UI preferences across different sessions.
  • Render Lifecycle Events - Registers custom functions to manipulate content or inject assets during specific rendering lifecycle stages.
  • Local File System Integration - Enables opening and rendering EPUB documents uploaded by users from their local file system.
  • Iframe Sandboxing - Renders book content within isolated iframes to prevent style leakage and ensure a controlled execution environment.
  • Lifecycle Event Hooks - Allows external scripts to intercept the loading and rendering process via registered callback functions.
  • Document Bookmarks - Tracks specific locations within a document to allow users to return to saved pages or sections.
  • Content Layout Controls - Controls the viewport, text direction, writing mode, and column scaling of the rendered content.
  • DOM Range Manipulations - Maps visual text selections to internal document identifiers by calculating paths from the root node.
  • Typography - Allows modification of font sizes and families to customize how text appears to the reader.
  • Visual Themes - Applies CSS stylesheets or inline style objects to change the overall visual appearance of rendered text.
  • Asset Injection - Enables appending custom stylesheets and scripts into the document head to style and enhance rendered content.
  • Layout Manipulators - Provides dynamic control over pagination and viewport scaling through the injection of stylesheets and DOM manipulation.
6,873 stars·1,186 forks·JavaScript·other·60 views

Star history

Star history chart for futurepress/epub.jsStar history chart for futurepress/epub.js

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Epub.js

These projects share indexed features with Epub.js. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • foobnix/librerareaderfoobnix avatar

    foobnix/LibreraReader

    4,246View on GitHub↗

    LibreraReader is a multi-format e-book reader and digital library manager designed for mobile and desktop devices. It functions as a customizable document renderer and a text-to-speech document player that converts written text into spoken audio via a configurable speech engine and integrated media player. The project distinguishes itself through a high degree of visual and functional customization, including the ability to inject custom CSS for styling overrides and the use of pluggable rendering engines to balance speed and stability. It includes specialized navigation tools such as a verti

    C
    View on GitHub↗4,246
  • johnfactotum/foliatejohnfactotum avatar

    johnfactotum/foliate

    8,430View on GitHub↗

    Foliate is an EPUB e-book reader and multi-format document viewer designed for reading and managing digital books. It functions as a digital library manager that indexes local files and tracks reading progress across a personal collection. The application supports complex layout handling, including right-to-left text and vertical writing with automatic hyphenation. It provides a text-to-speech interface that converts document content into spoken audio using a system speech dispatcher. The tool includes capabilities for digital text annotation, allowing users to create highlights and notes. I

    JavaScriptazwazw3cbz
    View on GitHub↗8,430
  • kareadita/kavitaKareadita avatar

    Kareadita/Kavita

    10,947View on GitHub↗

    Kavita is a self-hosted digital library server designed for hosting, organizing, and sharing collections of digital books, comics, and magazines across multiple devices. It functions as a digital media metadata manager and an OPDS content server, enabling the distribution of publications to compatible reading applications. The system includes a cross-platform web-based reader that supports digital book annotations and highlights. It utilizes a role-based access control system to manage user permissions and enforce age restrictions for shared libraries. The platform provides comprehensive lib

    C#annotationscbzcomicinfo
    View on GitHub↗10,947
  • pymupdf/pymupdfpymupdf avatar

    pymupdf/PyMuPDF

    9,086View on GitHub↗

    PyMuPDF is a comprehensive PDF manipulation library and document analysis tool. It serves as a text extraction tool, OCR engine, and image converter, providing a programmatic interface to edit, merge, split, and optimize PDF and Office documents. The project distinguishes itself through high-performance capabilities, including the use of C-bindings for low-level manipulation and parallelized page processing to accelerate workloads. It provides specialized conversion paths, such as transforming PDF content into Markdown for retrieval-augmented generation and large language model pipelines. It

    Pythondata-scienceepubextract-data
    View on GitHub↗9,086
Compare all 30 related projects→

Frequently asked questions

What does futurepress/epub.js do?

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.

What are the main features of futurepress/epub.js?

The main features of futurepress/epub.js are: Digital Book Renderers, Content Fragment Identifiers, Document Rendering, Digital Content Annotations, Digital Publication Renderers, EPUB Structure Parsing, Web-Based Readers, Reading Location Management.

Which projects share features with futurepress/epub.js?

Projects with overlapping indexed features include: foobnix/librerareader — LibreraReader is a multi-format e-book reader and digital library manager designed for mobile and desktop devices. It… johnfactotum/foliate — Foliate is an EPUB e-book reader and multi-format document viewer designed for reading and managing digital books. It… kareadita/kavita — Kavita is a self-hosted digital library server designed for hosting, organizing, and sharing collections of digital… pymupdf/pymupdf — PyMuPDF is a comprehensive PDF manipulation library and document analysis tool. It serves as a text extraction tool,… vanessa219/vditor — Vditor is a browser-based Markdown editor and rendering engine that supports multiple editing interfaces, including a… olifolkerd/tabulator — Tabulator is an interactive data table library and virtual DOM data grid used to create high-performance tables from…