For an open source pdf viewer for desktop, the strongest matches are mozilla/pdf.js (pdf), ahrm/sioyek (Sioyek is a PDF viewer focused on research papers) and sumatrapdfreader/sumatrapdf (SumatraPDF is a lightweight, multi-format document viewer that handles). opensignlabs/opensign and mstamy2/pypdf2 round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
We curate open-source GitHub repositories matching “open source pdf reader”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
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 by
pdf.js is a web-based PDF viewer that renders and searches documents in a browser, making it a genuine open-source PDF reader, though it lacks built-in annotation tools, form filling, dark mode, and tabbed browsing.
Sioyek is a PDF viewer and academic document navigator designed for reading research papers, textbooks, and technical documents. It focuses on enabling users to jump between references, figures, and bibliographies, even in documents that lack embedded hyperlinks. The software distinguishes itself through deep LaTeX integration, allowing for synchronized navigation between source code and rendered PDF output. It is highly customizable, featuring programmable keybindings and the ability to extend its functionality via external scripts for tasks such as translation or text recognition. The view
Sioyek is a PDF viewer focused on research papers and academic navigation, with features like reference jumping and LaTeX integration; it covers core viewing and text search well, but lacks the form-filling, digital signature, dark mode, and tabbed interface features you listed.
SumatraPDF is a lightweight, multi-format document viewer designed for rendering PDF, eBook, and comic book files within a unified interface. It functions as both a graphical reading environment and a command-line document processor, enabling users to automate file conversion, merging, and extraction tasks without requiring a graphical interface. The application distinguishes itself through a single-executable binary distribution that utilizes direct-to-GDI rendering and memory-mapped file access to maintain high performance and minimal memory overhead. Users can personalize their workspace b
SumatraPDF is a lightweight, multi-format document viewer that handles PDF files and includes command-line management tools, so it fits the PDF reader category, though it lacks cross-platform support and the annotation and form-filling features you listed.
OpenSign is a self-hosted, open-source document signing platform that enables users to send, sign, and manage PDF documents with digital certificates and encryption. It functions as a complete e-signature solution, allowing organizations to run their own signing service on private infrastructure while maintaining full control over their data and document workflows. The platform supports sequential multi-signer workflows, where documents can be sent to multiple recipients in a predefined order, with each signer receiving an email-based one-time password for verification before accessing the do
OpenSign is a document signing platform for sending and managing e-signatures, not a general-purpose PDF reader for viewing, annotating, or managing documents with features like form filling, text search, or tabbed browsing.
PyPDF2 is a pure Python library for reading, writing, and manipulating PDF files. It functions as a document manipulator, text extractor, and encryption tool, allowing users to process PDF files without relying on external C libraries or native binaries. The library provides specialized tools for modifying document structures, such as merging multiple files into one, splitting documents into separate files, and transforming page layouts through cropping. It also includes capabilities for securing documents via passwords and encryption. Additional capabilities include the extraction of writte
PyPDF2 is a Python library for programmatic PDF manipulation, not a standalone PDF reader application—it provides the building blocks for handling PDF files but lacks the interactive viewing, annotation, and management interface you are looking for.
Stirling-PDF is a self-hosted document processing suite designed for secure, private file management. It functions as a comprehensive transformation engine that executes complex operations—such as merging, splitting, converting, and redacting documents—directly on the host machine. The platform provides both a browser-based interface for interactive editing and a programmatic, API-first architecture that allows for the automation of document workflows through standard HTTP requests. The project distinguishes itself through its focus on private, infrastructure-agnostic deployment and granular
Stirling-PDF is a self-hosted document processing suite focused on merging, splitting, converting, and redacting PDFs rather than a dedicated PDF reader for viewing and annotating files.
Xournalpp is a digital note-taking and annotation application designed for capturing natural handwriting and sketching. It functions as a vector graphics editor that treats individual strokes, shapes, and text as discrete, editable objects, allowing users to refine and manipulate their work after it has been placed on the canvas. The application provides a specialized environment for overlaying handwritten notes and drawings onto existing PDF documents. By utilizing pressure-sensitive stylus input, it simulates a natural writing experience, while its layered canvas composition enables users t
Xournal++ is primarily a digital note-taking and handwriting annotation tool that can overlay notes onto PDFs, but it is not a dedicated PDF reader; it lacks features like form filling, dedicated text search, tabbed interface, and digital signatures that a full PDF reader would offer.
Embed PDF Viewer is a browser-based PDF rendering library that uses a WebAssembly port of the PDFium engine to display documents entirely on the client side, with no server-side processing required. It provides a framework-agnostic core engine layer that manages the PDF document lifecycle, memory allocation, and WebAssembly resource cleanup, with dedicated integration hooks for React and Vue 3 that handle initialization, document loading, and reactive state management. The library offers both a pre-built, embeddable viewer that can be inserted into any web page with a single initialization ca
Embed PDF Viewer is a browser-based PDF rendering library and embeddable widget, not a standalone PDF reader application with its own user interface—it is a building block for developers to integrate PDF viewing into web apps, whereas this search is for a ready-to-use reader with annotation, form filling, and other management features.
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
BentoPDF is a browser-based PDF toolkit focused on conversion and metadata management rather than a dedicated reader application, so it doesn't provide the focused viewing, annotation, and form-filling experience you need.
unioffice is a comprehensive document processing suite that provides a PDF document processor, an Open XML document library, a document security toolkit, and a document content extractor. It is designed to programmatically create, read, and modify Word, Excel, and PowerPoint files, as well as generate and edit PDF documents. The project is distinguished by its native language implementation of the Open XML standard, which removes native binary dependencies to simplify container deployments. It features advanced capabilities for digital document security, including hardware-based PDF signing,
unioffice is a Go library for programmatic document processing (creating, reading, and editing PDFs and Office files) rather than a user-facing PDF reader application — it provides PDF manipulation capabilities but no interactive viewing, annotation, or form-filling interface.
DesktopEditors is an office suite application designed for creating and editing text documents, spreadsheets, and presentations across different operating systems. It serves as an OOXML compatible editor, ensuring that files are read and written according to Office Open XML standards for cross-platform document exchange. The suite functions as a collaborative document platform featuring real-time co-authoring, version tracking, and integrated communication tools. It also acts as an AI-powered document assistant and PDF editor, providing capabilities for content generation, automated spreadshe
OnlyOffice Desktop Editors is an office suite (text docs, spreadsheets, presentations) that can also edit PDFs, but it is not a dedicated PDF reader — the visitor would be better served by a tool focused solely on reading and annotating PDFs.
omni-tools is a browser-based utility suite that provides client-side tools for manipulating PDFs, media files, and data formats. It functions as a collection of web-based processors and calculation engines that execute directly within the browser without requiring server-side processing. The suite includes a client-side PDF editor for merging, splitting, and reorganizing document structures, and a web-based media processor for resizing, trimming, and converting image and video files. It also features a data format converter that transforms structured information between JSON, CSV, and XML fo
iib0011/omni-tools is a browser-based utility suite that includes PDF editing features like merging and splitting, but it is not a dedicated PDF reader application for viewing, annotating, or managing documents—it's a toolset for file manipulation rather than a reader.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| mozilla/pdf.js | 53.5K | JavaScript | Apache-2.0 | |
| ahrm/sioyek | 9.6K | C | GPL-3.0 | |
| sumatrapdfreader/sumatrapdf | 16.1K | C | gpl-3.0 | |
| opensignlabs/opensign | 6.6K | JavaScript | NOASSERTION | |
| mstamy2/pypdf2 | 10.1K | Python | NOASSERTION | |
| stirling-tools/stirling-pdf | 81.1K | TypeScript | NOASSERTION | |
| xournalpp/xournalpp | 14.9K | C++ | GPL-2.0 | |
| embedpdf/embed-pdf-viewer | 3.3K | TypeScript | mit | |
| alam00000/bentopdf | 11.6K | JavaScript | agpl-3.0 | |
| unidoc/unioffice | 4.8K | Go | other |