awesome-repositories.com
Blog
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
mozilla avatar

mozilla/pdf.js

0
View on GitHub↗
53,454 stars·10,635 forks·JavaScript·Apache-2.0·12 viewsmozilla.github.io/pdf.js↗

Pdf.js

This project is a portable document rendering engine designed to parse and display complex document layouts directly within standard web browser environments. It functions as a web-native viewer that enables the presentation of documents without requiring external software or browser plugins.

The engine utilizes a canvas-based rendering layer to map document page data onto standard web drawing surfaces, ensuring high-fidelity visual output. To maintain interface responsiveness, it offloads heavy parsing and object extraction tasks to background threads. The system also employs asynchronous byte-range fetching to retrieve only the necessary parts of a document on demand, allowing for immediate viewing without waiting for the entire file to download.

The library provides a comprehensive set of tools for client-side processing, including text extraction and the ability to handle multi-page documents. It manages document data through low-level binary buffers and uses web-compatible font processing to ensure that text renders identically to the original file layout. Developers can integrate these capabilities to load remote documents, navigate through pages, and apply precise viewport transformations for custom display logic.

Features

  • Web-Based Document Viewers - Displays complex document layouts natively in browsers, eliminating the need for third-party plugins.
  • Canvas Rendering Engines - Converts vector graphics and font data into pixel-based imagery on HTML5 canvas elements.
  • Document Data Extraction - Captures text and visual data locally within the browser to support custom search and analysis workflows.
  • JavaScript Document Parsers - Interprets binary data structures to extract structured content from files using JavaScript.
  • PDF Rendering Engines - Manages document loading, page navigation, and text extraction to facilitate seamless file viewing.
  • Documentation and Knowledge Management - Integrates client-side interfaces for document navigation, text searching, and visual presentation within web applications.
  • Background Parsing Workers - Delegates intensive parsing and data extraction tasks to background threads to maintain interface responsiveness.
  • File Processing - JavaScript-based PDF reader.
  • File Utilities - PDF rendering library for the browser.
  • PDF - Listed in the “PDF 工具” section of the Great Open Source Project awesome list.
  • Fuzzing Corpora - A library used to provide PDF file samples for input testing.
  • Asynchronous Data Fetching - Streams specific document segments on demand to allow immediate viewing without waiting for full file downloads.
  • Viewport Transformations - Calculates coordinate scaling and rotation matrices to map internal document dimensions onto target display areas.
  • Font Subsetting Engines - Transforms embedded document fonts into web-compatible formats to preserve original layout fidelity.

Star history

Star history chart for mozilla/pdf.jsStar history chart for mozilla/pdf.js

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

Open-source alternatives to Pdf.js

Similar open-source projects, ranked by how many features they share with Pdf.js.
  • mrrio/jspdfMrRio avatar

    MrRio/jsPDF

    31,230View on GitHub↗

    jsPDF is a JavaScript PDF generation library and client-side engine that produces documents directly on the user's device. It provides a scriptable interface for creating PDF files within web browsers and other JavaScript runtime environments without requiring a backend server. The library includes a tool for defining document dimensions, orientation, and measurement units to control page layout. It also functions as a Unicode font integrator, allowing for the embedding of custom font files to support diverse languages and special characters. Capability areas cover dynamic document automatio

    JavaScript
    View on GitHub↗31,230
  • wojtekmaj/react-pdfwojtekmaj avatar

    wojtekmaj/react-pdf

    10,920View on GitHub↗

    React-pdf is a library of components designed to integrate document viewing and interaction into web applications. It provides a standardized interface for parsing and displaying portable document format files directly within a browser environment, supporting input from local files, remote web addresses, and encoded data strings. The library renders document content onto HTML5 canvas elements to ensure consistent visual display across browsers. To maintain interface responsiveness during document processing, it offloads parsing tasks to background threads. It also implements a layered approac

    TypeScriptpdfpdf-viewerreact
    View on GitHub↗10,920
  • alam00000/bentopdfalam00000 avatar

    alam00000/bentopdf

    11,550View on GitHub↗

    BentoPDF is a browser-based document toolkit designed for local-first PDF manipulation, conversion, and metadata management. By executing all file processing tasks directly within the browser sandbox, the application ensures that sensitive data remains on the user's device and is never uploaded to or stored on external servers. The platform distinguishes itself through a modular architecture that supports dynamic remote script loading and the integration of external processing engines. Users can extend the core functionality by connecting third-party libraries, which are executed as compiled

    JavaScriptadobe-acrobatdockerhacktoberfest
    View on GitHub↗11,550
  • mholt/papaparsemholt avatar

    mholt/PapaParse

    13,492View on GitHub↗

    PapaParse is a delimited text processing library that converts CSV files into JSON objects or arrays. It provides a suite of tools for parsing delimited text and transforming structured data objects back into CSV formats through bidirectional serialization. The library is characterized by its ability to process massive datasets using incremental streaming and chunk-based processing to prevent memory overload. It includes an automatic delimiter detector to identify separator characters without manual configuration and utilizes web workers to offload parsing logic to background threads, keeping

    JavaScript
    View on GitHub↗13,492
See all 30 alternatives to Pdf.js→

Frequently asked questions

What does mozilla/pdf.js do?

This project is a portable document rendering engine designed to parse and display complex document layouts directly within standard web browser environments. It functions as a web-native viewer that enables the presentation of documents without requiring external software or browser plugins.

What are the main features of mozilla/pdf.js?

The main features of mozilla/pdf.js are: Web-Based Document Viewers, Canvas Rendering Engines, Document Data Extraction, JavaScript Document Parsers, PDF Rendering Engines, Documentation and Knowledge Management, Background Parsing Workers, File Processing.

What are some open-source alternatives to mozilla/pdf.js?

Open-source alternatives to mozilla/pdf.js include: mrrio/jspdf — jsPDF is a JavaScript PDF generation library and client-side engine that produces documents directly on the user's… wojtekmaj/react-pdf — React-pdf is a library of components designed to integrate document viewing and interaction into web applications. It… alam00000/bentopdf — BentoPDF is a browser-based document toolkit designed for local-first PDF manipulation, conversion, and metadata… rtfpessoa/diff2html — diff2html is a Git diff visualization library that transforms unified diff text into structured HTML. It serves as a… mholt/papaparse — PapaParse is a delimited text processing library that converts CSV files into JSON objects or arrays. It provides a… jdataview/jbinary — High-level API for working with binary data.