30 open-source projects similar to mozilla/pdf.js, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Pdf.js alternative.
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
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
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
diff2html is a Git diff visualization library that transforms unified diff text into structured HTML. It serves as a renderer for visualizing code changes in web browsers, providing components to inject stylized diff visualizations and collapsible file lists directly into web page elements. The library enables both side-by-side and line-by-line code comparisons. It includes a syntax highlighting diff viewer that applies language-specific color coding to source code based on file extensions or manual mappings. To maintain alignment during reviews, the project implements synchronized scrolling
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
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
Pretext is a canvas-based text layout engine designed to calculate precise text dimensions and line breaks for custom rendering. It serves as a rich text measurement tool and a cross-browser typography normalizer, enabling the determination of pixel-perfect widths and heights for mixed inline content without relying on browser CSS. The project distinguishes itself through its ability to handle complex typography and dynamic layouts. It implements language-specific segmentation rules for CJK and Hangul scripts and corrects emoji width variances between DOM and canvas rendering. Additionally, i
react-canvas is a library for drawing user interface elements to a hardware-accelerated canvas instead of the standard document tree. It provides a system for rendering components to a canvas to improve rendering speed and frame rates. The project includes a layer manager to organize visual elements and cache expensive drawing operations. It features a text engine capable of rendering multi-line text with precise character metric measurements and truncation, as well as a virtualized list system that processes only visible items to maintain smooth scrolling. Interaction is handled through a c
vue-office is an office document preview library and web-based document viewer designed to render Word, Excel, PowerPoint, and PDF files directly in a web browser. It provides a collection of reusable components that allow for the display of documents using network URLs, data buffers, or blob data without requiring external plugins. This rendering solution is built as a cross-framework document renderer, offering integration for Vue 2, Vue 3, and React. It enables client-side document display to avoid server-side conversion processes. The library handles document visualization through client
This project is a virtual whiteboard component and vector graphics editor designed for creating diagrams with a hand-drawn aesthetic. It provides a canvas-based drawing engine that can be embedded directly into web applications, allowing users to manipulate shapes, upload images, and export visual data into standard formats like PNG, SVG, or JSON. The platform distinguishes itself through a real-time synchronization layer that supports multi-user collaboration across distributed environments. This engine utilizes end-to-end encryption to secure shared sessions and employs a local-first data p
Konva is an object-oriented HTML5 canvas framework designed for building interactive 2D graphical applications. It provides a hierarchical scene graph that organizes shapes, images, and text into manageable nodes, groups, and layers. By mapping application state to canvas elements, the library enables developers to create complex visual interfaces using declarative patterns that synchronize with modern component-based frameworks. The library distinguishes itself through a robust event system that supports hit detection, bubbling, and direct manipulation of graphical objects, such as dragging,
Koodo Reader is an open-source, cross-platform eBook reader designed for managing and studying digital documents. It functions as both a standalone desktop application and a self-hosted web environment, allowing users to organize their libraries and read across multiple devices. The application distinguishes itself through integrated study and annotation tools that facilitate personal knowledge management, enabling users to highlight and extract insights from their documents. It supports a consistent reading experience by synchronizing progress and notes across platforms, while also providing
XWiki Platform is a collaborative content management system and enterprise wiki designed for creating, organizing, and sharing structured documentation. It functions as a Java-based application framework that enables teams to build data-driven business applications directly within a web environment. By combining a flexible knowledge base with modular development tools, the platform supports both standard document management and the creation of custom, interactive software solutions. The platform distinguishes itself through a highly extensible architecture that allows for deep customization w
This project is a self-hosted enterprise wiki platform designed for teams to create, organize, and share documentation. It functions as a centralized knowledge management system that enables collaborative authoring through markdown syntax, allowing users to structure information within isolated departmental spaces and private team workspaces. The platform distinguishes itself through a focus on operational simplicity and administrative control. It is distributed as a single, self-contained executable binary, which streamlines deployment by eliminating complex runtime dependencies. To support
Trianglify is an algorithmic background generator and vector art toolkit used to produce pseudo-random geometric patterns and polygonal meshes. It functions as a rendering engine that converts geometric data into either scalable vector graphics or rasterized canvas elements. The system utilizes deterministic pattern generation via seed values to ensure consistent geometric output. It supports customizable color gradients, coordinate grid jittering, and custom geometry definitions to control the placement and shape of the generated meshes. The project covers algorithmic art generation and gen
Apache ECharts is a JavaScript data visualization library used for rendering interactive charts and complex data visualizations in web browsers. It functions as a canvas-based charting engine and a statistical data visualization suite that transforms datasets into visual representations. The framework provides specialized capabilities for three-dimensional data visualization, including the generation of 3D plots and globe visualizations. It also serves as a web-based geographic mapping tool for overlaying heatmaps, routes, and data distributions onto interactive maps. The library covers a br
SVGEdit is a browser-based SVG editor and canvas engine used for creating and modifying scalable vector graphics files. It provides a web interface for vector design and functions as an embeddable editor that can be injected into HTML elements within other web applications. The project allows for the development of custom SVG tools and the construction of bespoke vector graphics editors by utilizing its standalone drawing engine.
GoJS is a JavaScript diagramming library and canvas-based visualization engine used to build interactive flowcharts, organizational charts, and network diagrams. It functions as a data-driven framework that binds JavaScript data models to visual elements, enabling bidirectional synchronization between the underlying data and the graphical representation. The library features a comprehensive graph layout engine capable of automatically arranging nodes into trees, grids, circles, or force-directed layouts. It distinguishes itself through a template-based system for generating visual parts and a
PPTist is a browser-based presentation editor that functions as a PowerPoint-compatible online slide tool, capable of importing, editing, and exporting PPTX files directly in a web browser. It also serves as an AI-powered presentation generator, creating slide decks automatically from templates with AI-driven content generation, and includes a full slide animation and transition engine for applying entrance, exit, emphasis, and motion-path effects. The tool distinguishes itself as a cross-platform presentation application that works on both desktop and mobile browsers for slide editing and sl
tsparticles is a JavaScript particle animation library and configuration-driven visual effects engine used to create customizable effects, confetti, and interactive backgrounds using HTML5 Canvas. It functions as a plugin-based graphics engine and a web component animation engine, allowing for the generation of complex behaviors and themes through structured JSON configuration objects. The project provides a cross-framework animation wrapper with dedicated compatible components for integrating effects into React, Vue, Angular, and Svelte. Its modular architecture allows users to extend the en
This project is a programmable font system and canvas typography engine that renders a geometric sans-serif typeface using raw coordinate data. It functions as a coordinate-based text animator, allowing for the real-time modification of glyph shapes and font weights. The system distinguishes itself through the ability to extract and manipulate the point coordinates of characters to create morphing effects, wave animations, and shape transitions. It enables dynamic weight interpolation and point-to-line visualizations, moving beyond static font rendering to produce procedural typography. The
react-konva is a declarative React canvas graphics library and 2D vector graphics framework. It serves as a rendering engine and interactive canvas toolset that allows for the drawing and management of complex 2D shapes and graphics using a React component model. The library maps reactive component trees to an underlying object-oriented graphics scene graph, enabling the synchronization of visual states with application data. It provides specialized tools for building interactive graphical interfaces, including support for multi-touch gestures, drag-and-drop functionality, and real-time trans
Leafer UI is a high-performance HTML5 canvas rendering engine and 2D vector graphics library. It utilizes a hierarchical scene tree to manage shapes, paths, and text, providing a toolkit for building interactive canvas applications and expansive infinite canvases. The engine is designed as a cross-platform canvas toolkit that decouples core logic from the drawing API, allowing it to run across web, mobile, server, and mini-program environments. It distinguishes itself by providing specialized tools for interactive graphic editor development, including hit detection, event bubbling, and transf
Paper.js is an HTML5 Canvas vector graphics library and scripting framework used for creating and manipulating 2D shapes and paths. It functions as a vector animation framework and a headless vector graphics engine, allowing for the execution of graphics operations in both browser and server-side environments. The project features a dedicated SVG import and export engine to convert between native vector items and the SVG format. It includes a specialized boolean path operation toolkit for uniting, subtracting, and intersecting vector paths to create complex geometric shapes. The library cove
canvas-confetti is an HTML5 canvas animation library and browser particle effect engine designed to render celebratory confetti bursts. It functions as a visual effects tool that transforms SVG paths, emojis, and text into animated particles. The library offloads heavy particle calculations to a web worker to maintain main thread responsiveness and prevent the user interface from lagging. It includes built-in support for operating system reduced motion settings, automatically disabling animations for users with motion sensitivities to ensure accessibility compliance. The system supports conf
KLineChart is a high-performance financial charting library and data visualization engine. It uses native browser canvas APIs to render interactive candlestick charts and time-series financial data for web and mobile applications. The library is built as a plugin-based framework, allowing for the integration of custom calculation logic and rendering routines. This modular architecture enables the addition of technical analysis visualization tools and custom indicators to financial dashboards. The system handles real-time market data updates and computes technical indicators to visualize mark
Lucky Canvas is a canvas-based lottery component library that enables developers to build interactive prize wheels, grid-based lottery games, and slot machines for web and mobile applications. The project provides a rendering engine that draws directly on HTML Canvas elements, with automatic device pixel ratio scaling to ensure crisp displays on high-DPI mobile screens. The library packages each lottery type as a self-contained plugin with its own configuration and rendering logic, and wraps the core canvas functionality in framework-specific bindings for Vue, React, Taro, and UniApp without