Open-source pdf software
504 open-source libraries, tools and applications tagged pdf, ranked by how closely pdf is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
504 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| TomRoush/PdfBox-Android A port of Apache PDFBox to Android, enabling PDF creation, manipulation, and rendering in Android apps. It is distributed via Maven Central… | 23 | 1190 | active |
| akii09/pdfx PDFx is a shadcn/ui-style collection of pre-built, themeable React PDF components built on @react-pdf/renderer, with a CLI to copy componen… | 80 | 1182 | active |
| Faster3ck/Converseen Converseen is a free, cross-platform batch image processor built on ImageMagick that converts, resizes, rotates, and flips images in bulk a… | 98 | 1169 | active |
| ShotEasy ShotEasy is a free online photo and screenshot toolkit built with Astro that runs entirely in the browser using WebAssembly. It offers scre… | 70 | 1168 | active |
| PlutoBook PlutoPrint is a Python library for generating high-quality PDFs and PNG images from HTML or XML content, built on the PlutoBook rendering e… | 84 | 1165 | active |
| TinyTeX TinyTeX is a lightweight, portable LaTeX distribution based on TeX Live that installs only needed packages, paired with an R package provid… | 88 | 1164 | active |
| ttttccxxui/DataInfra-RedactionEverything A local-first redaction workbench that detects and anonymizes sensitive information in documents, scanned PDFs, images, Word files, and pla… | 57 | 1143 | active |
| fschutt/printpdf printpdf is a Rust library (also usable via WASM) for creating, reading, writing, and rendering PDF documents. It supports pages, layers, g… | 67 | 1125 | active |
| LoredCast/filewizard A self-hosted, browser-based web UI for converting files between many formats, running OCR on PDFs and images, transcribing audio with Whis… | 83 | 1121 | active |
| VladSez/easy-invoice-pdf EasyInvoicePDF is a free, open-source invoice generator that runs entirely in the browser, offering live preview, instant PDF export, and f… | 83 | 1117 | active |
| leovan/SciHubEVA SciHubEVA is a cross-platform GUI application for searching and downloading papers from Sci-Hub, built with Python and Qt (PySide6/QML). It… | 67 | 1114 | active |
| easydoc-ai/easydoc EasyDoc is a multimodal document processing API that converts unstructured documents like PDFs into hierarchical, machine-readable JSON. It… | 32 | 1114 | active |
| wormi4ok/evernote2md evernote2md is a zero-dependency Go CLI tool that converts Evernote notes exported in .enex format into a directory of Markdown files. It h… | 87 | 1113 | active |
| aiptimizer/TurboOCR TurboOCR is an extremely fast GPU-accelerated document parser written in C++ that combines OCR, layout analysis, table extraction, and form… | 81 | 1104 | active |
| WhiskeyCoder/Qwen3-Audiobook-Converter A Python CLI tool that converts documents (PDF, EPUB, DOCX, DOC, TXT) into audiobooks using the Qwen3 TTS voice model running locally via a… | 47 | 1102 | active |
| gjTool/pdfh5 pdfh5.js is a JavaScript plugin for rendering and previewing PDF files in web and mobile (H5) browsers, built on top of PDF.js. It supports… | 45 | 1099 | active |
| Bogdanovich77/DeekSeek-OCR---Dockerized-API A Dockerized REST API and batch processing scripts that convert PDF documents to Markdown using the DeepSeek-OCR model behind a FastAPI bac… | 35 | 1089 | active |
| Studiosity/grover Grover is a Ruby gem that converts HTML (or a URL) into PDFs, PNGs, or JPEGs by driving Google Puppeteer and Chromium. It integrates easily… | 75 | 1087 | active |
| pdfslick/pdfslick PDFSlick is a library for viewing and interacting with PDF documents in React, SolidJS, Svelte, and vanilla JavaScript apps. It wraps Mozil… | 89 | 1084 | active |
| atlanhq/camelot Camelot is a Python library for extracting tables from PDF files into pandas DataFrames or CSV, JSON, Excel, HTML, and SQLite formats. It a… | 10 | 3707 | maintenance |
| lierdakil/pandoc-crossref pandoc-crossref is a Pandoc filter that adds automatic numbering and cross-referencing of figures, tables, equations, sections, and code bl… | 95 | 1073 | active |
| mittagessen/kraken kraken is a turn-key OCR/HTR engine built on neural networks, optimized for historical and non-Latin script material. It provides trainable… | 94 | 1073 | active |
| paulocoutinhox/pdfium-lib A build project that compiles Google's PDFium PDF rendering library for multiple platforms including iOS, Android, macOS, and WebAssembly. … | 95 | 1070 | active |
| MarkMindCkm/obsidian-markmind An Obsidian plugin providing mind map, outline, and PDF annotation capabilities, supporting both desktop and mobile. Some advanced features… | 94 | 1066 | active |
| CRui5in/paper-ppt-agent A self-hosted web application that uses a multi-agent AI pipeline (Strategist, Executor, Critic) to convert academic papers from PDF or LaT… | 73 | 1065 | active |
| daniel-j/send2ereader A self-hostable web service for sending ebooks (EPUB, MOBI, PDF, TXT, CBZ, CBR) to a Kobo or Kindle ereader via its built-in browser using … | 35 | 1062 | active |
| C-Loftus/QuickPiperAudiobook A Go CLI tool that converts text content from formats like epub, PDF, mobi, txt, HTML, and docx into natural-sounding audiobooks with a sin… | 37 | 1059 | active |
| spatie/laravel-pdf A Laravel package for generating PDF files from Blade views using a driver-based architecture. It supports multiple backends including Brow… | 89 | 1050 | active |
| GrapheneOS/PdfViewer A minimal, permission-free Android PDF viewer built on pdf.js and content providers, developed by the GrapheneOS project. It renders PDFs i… | 95 | 1046 | active |
| acl-org/aclpubcheck A Python CLI tool that checks ACL conference paper PDFs for formatting violations such as font errors, margin violations, and author format… | 76 | 1044 | active |
| hrynko/vue-pdf-embed A Vue 3 component (with Vue 2 support in v1) for embedding and rendering PDF documents in web applications. It wraps PDF.js to provide cont… | 91 | 1041 | stable |
| DSS (Digital Signature Service) DSS (Digital Signature Service) is an open-source Java library from the European Commission for creating, extending, and validating advance… | 89 | 1040 | stable |
| Agentic Document Extraction (ADE) The official CLI for LandingAI's Agentic Document Extraction (ADE), which parses documents into grounded Markdown and elements and extracts… | 78 | 1038 | active |
| spatie/pdf-to-text A PHP library that wraps the pdftotext binary to extract plain text from PDF files with a simple, fluent API. It requires the poppler-utils… | 64 | 1031 | stable |
| ifnoelse/pdf-bookmark A Java GUI application that automatically generates bookmarks (outlines/table of contents) for PDF files that lack them. Users paste or fet… | 53 | 1018 | active |
| mikehaertl/php-pdftk A PHP library wrapping the pdftk command-line tool to fill PDF forms, merge/split PDFs, and manage passwords and metadata. It converts betw… | 88 | 1016 | active |
| caj2pdf/caj2pdf A Python CLI tool that converts CNKI's proprietary CAJ document files into PDFs while preserving selectable text and outline information. I… | 32 | 3244 | maintenance |
| pdfkit/pdfkit PDFKit is a Ruby gem that converts HTML and CSS into PDF documents by wrapping the wkhtmltopdf command-line utility, which renders HTML via… | 23 | 2940 | maintenance |
| markdown-pdf A Node.js module and CLI that converts Markdown files to PDFs by rendering them through HTML and PhantomJS. It supports custom CSS styling,… | 32 | 2877 | maintenance |
| illuin-tech/colpali ColPali Engine is the Python library for training and running inference with ColVision visual document retrieval models such as ColPali, Co… | 83 | 2836 | maintenance |
| smalot/pdfparser A standalone PHP library for parsing PDF files and extracting data such as text, metadata, and page content. It supports compressed PDFs an… | 85 | 2731 | maintenance |
| dfd-tud/deda DEDA is a Python toolkit for extracting, decoding, and anonymising the yellow tracking dots that colour laser printers embed in printouts. … | 32 | 2655 | maintenance |
| esbenp/pdf-bot A Node.js microservice that generates PDFs from URLs using headless Chrome, with a queue API, CLI, S3 storage, and webhook notifications. F… | 23 | 2637 | maintenance |
| cognitom/paper-css Paper CSS is a small CSS stylesheet that lets you create printable documents (A3/A4/A5, letter, legal) directly in the browser using plain … | 32 | 2588 | maintenance |
| JelteF/PyLaTeX PyLaTeX is a Python library for creating and compiling LaTeX files or snippets. It provides an easy but extensible interface between Python… | 23 | 2356 | maintenance |
| magicrew/doc7 doc7 is a Go CLI tool that converts PDFs, Office files, scans, screenshots, charts, formulas, and diagrams into AI-ready Markdown using any… | 72 | 721 | active |
| FranckFreiburger/vue-pdf A Vue.js 2 component that wraps Mozilla's PDF.js to render and display PDF documents in web applications. It exposes props for source, page… | 23 | 2297 | maintenance |
| danfickle/openhtmltopdf A pure-Java library that renders well-formed XHTML/HTML5 with CSS 2.1+ layout and outputs PDF documents (or images), built on Apache PDFBox… | 32 | 2194 | maintenance |
| kingyiusuen/image-to-latex A PyTorch application that converts images of LaTeX math equations into LaTeX code using a ResNet-18 encoder and Transformer decoder traine… | 32 | 2160 | maintenance |
| libharu/libharu libHaru is a free, open-source ANSI C library for generating PDF files, supporting text, lines, images, annotations, font embedding, compre… | 63 | 2005 | maintenance |
| joschan21/quill Quill is a fullstack SaaS application built with Next.js 13 App Router, tRPC, Prisma, and Tailwind that lets users upload PDFs and chat wit… | 28 | 2005 | maintenance |
| webodf/ViewerJS ViewerJS is a JavaScript document viewer that renders PDF and OpenDocument Format (ODF) files directly in the browser, built on top of PDF.… | 23 | 1971 | maintenance |
| alias-rahil/handwritten.js A JavaScript library, CLI tool, and web app that converts typed text into realistic-looking handwritten output rendered as PDF or image fil… | 32 | 1952 | maintenance |
| genspark-ai/genoffice GenOffice is a free, open-source AI office suite for macOS, Windows, and Linux built on Electron, offering a word processor, spreadsheet, p… | 80 | 9695 | experimental |
| TCPDF TCPDF is a pure-PHP library for generating PDF documents and barcodes directly in application code, now in maintenance-only mode. It has be… | 98 | 1911 | maintenance |
| pmaupin/pdfrw pdfrw is a pure Python library that reads and writes PDF files, supporting operations like merging, rotating, subsetting, watermarking, and… | 23 | 1909 | maintenance |
| alejandro-ao/ask-multiple-pdfs A Streamlit-based Python application built with Langchain that lets users chat with multiple PDF documents using natural language. It extra… | 30 | 1876 | maintenance |
| ShizukuIchi/pdf-editor A browser-based PDF editor that lets users add images, signatures, and text to PDF files entirely client-side with no server or installatio… | 32 | 1869 | maintenance |
| there4/markdown-resume A command-line tool that converts Markdown resume documents into responsive HTML5/CSS3 resumes and printable PDFs via wkhtmltopdf. It offer… | 23 | 1783 | maintenance |
| mszep/pandoc_resume A template-driven resume builder that lets you write your resume once in Markdown and generate PDF, HTML, and other formats via pandoc and … | 32 | 1775 | maintenance |
| impira/docquery DocQuery is a Python library and CLI tool that uses large language models to answer questions about semi-structured and unstructured docume… | 32 | 1774 | maintenance |
| elias-sundqvist/obsidian-annotator An Obsidian plugin that lets users open and annotate PDF and EPUB files directly inside Obsidian. It is based on Hypothesis but stores anno… | 23 | 1773 | maintenance |
| voghDev/PdfViewPager An Android library providing a PDFViewPager widget that renders PDF documents from assets, SD card, or remote URLs using Android's PdfRende… | 75 | 1716 | maintenance |
| dbashford/textract A Node.js library that extracts plain text from many document formats including HTML, PDF, DOC/DOCX, XLS/XLSX, CSV, PPTX, RTF, EPUB, and im… | 54 | 1692 | maintenance |
| JMH Visualizer A JavaScript tool that parses PDF files and converts them into Markdown format, built on top of Mozilla's pdf.js. It is available as a host… | 61 | 1655 | maintenance |
| mmz-001/knowledge_gpt KnowledgeGPT is a Streamlit web application that lets users upload documents (primarily PDFs) and ask questions about them, receiving answe… | 10 | 1628 | maintenance |
| JonathanLink/PDFLayoutTextStripper A Java library that converts PDF files to text while preserving the original layout, built as a subclass of Apache PDFBox's PDFTextStripper… | 23 | 1609 | maintenance |
| politza/pdf-tools pdf-tools is an Emacs library that provides fast, feature-rich PDF viewing and interaction inside Emacs, backed by a C server (epdfinfo) fo… | 10 | 1573 | maintenance |
| BasioMeusPuga/Lector Lector is a Qt-based ebook reader application written in Python that supports multiple formats including PDF, EPUB, DjVu, MOBI, AZW, FB2, c… | 60 | 1553 | maintenance |
| DevashishPrasad/CascadeTabNet CascadeTabNet is a PyTorch/mmdetection implementation of a CVPR 2020 paper for end-to-end table detection and structure recognition from im… | 32 | 1551 | maintenance |
| mzucker/page_dewarp A Python command-line tool that dewarps photos of curled or warped book pages using a cubic sheet optimization model, flattening them into … | 32 | 1529 | maintenance |
| jesparza/peepdf peepdf is a Python tool for analyzing PDF files to determine whether they are malicious, offering object inspection, filter/encoding decodi… | 32 | 1469 | maintenance |
| ArthurHub/HTML-Renderer A 100% managed C# library that renders HTML 4.01 and CSS level 2 content across WinForms, WPF, Mono, and PDF generation scenarios. It provi… | 93 | 1399 | maintenance |
| myhub/tr An offline Chinese text detection and recognition OCR SDK with C++ core code and Python bindings, supporting models like CRNN, CTPN, and Pi… | 47 | 1382 | maintenance |
| empira/PDFsharp-1.5 PDFsharp is a .NET library for creating, modifying, and processing PDF documents programmatically, written in C#. It is often paired with M… | 32 | 1301 | maintenance |
| manuels/texlive.js A JavaScript port of TeX Live 2016 that compiles LaTeX code entirely in the browser using an emscripten-compiled pdftex. It produces PDF fi… | 32 | 1272 | maintenance |
| mindbrix/UIImage-PDF An Objective-C UIImage category that renders PDF files into UIImages, enabling scalable vector assets in iOS apps. It supports rendering at… | 23 | 1226 | maintenance |
| unpaper/unpaper unpaper is a command-line post-processing tool for scanned sheets of paper, especially book pages from photocopies. It cleans dark edges, d… | 23 | 1206 | maintenance |
| rdvojmoc/DinkToPdf DinkToPdf is a C# .NET Core P/Invoke wrapper around the native wkhtmltopdf library, converting HTML pages or strings into PDF documents usi… | 23 | 1193 | maintenance |
| SebastiaanKlippert/go-wkhtmltopdf A pure Go wrapper around the wkhtmltopdf command-line utility for generating PDF documents from HTML/CSS templates. It exposes all wkhtmlto… | 41 | 1180 | maintenance |
| deepzec/Bad-Pdf Bad-PDF is a Python tool that generates malicious PDF files exploiting CVE-2018-4993 to steal NTLMv1/NTLMv2 hashes from Windows machines vi… | 40 | 1159 | maintenance |
| ading2210/linuxpdf LinuxPDF is a PDF file that runs a full Linux system inside a RISC-V emulator (based on TinyEMU) compiled to asm.js and executed via the Ja… | 21 | 5104 | experimental |
| iainc/iA-Writer-Templates A collection of official and example templates for iA Writer that let users preview, export PDFs, and print documents in custom styles. Tem… | 32 | 1126 | maintenance |
| oguzhaninan/Buka Buka is a desktop ebook management application with a clean, straightforward interface for organizing and reading ebooks. It currently supp… | 23 | 1117 | maintenance |
| kevinhendricks/KindleUnpack A Python-based tool that unpacks non-DRM Amazon Kindle and MobiPocket ebooks into their component parts, such as HTML, images, PDFs, or epu… | 57 | 1101 | maintenance |
| metachris/pdfx PDFx is a Python command-line tool and library that extracts metadata, text, and references (PDFs, URLs, DOIs, arXiv IDs) from PDF document… | 10 | 1076 | maintenance |
| fuergaosi233/gitbook2pdf A Python CLI tool that asynchronously crawls GitBook documentation sites and converts their contents into a single PDF. It preserves the or… | 10 | 1067 | maintenance |
| jalan/pdftotext pdftotext is a Python library for simple PDF text extraction, built as a binding around the Poppler C++ library. It supports reading text p… | 10 | 1062 | maintenance |
| PDFHummus (PDF-Writer) HummusJS is a fast Node.js native module (built on the PDF-Writer C++ library) for creating, parsing, and modifying PDF files and streams. … | 89 | 1026 | maintenance |
| IzakMarais/reporter An HTTP service written in Go that generates PDF reports from Grafana dashboards by rendering dashboard panels into a LaTeX-based PDF. It c… | 23 | 1020 | maintenance |
| Algebra-FUN/WeReadScan A Python library that uses Selenium headless browsers to scan purchased books from WeRead (WeChat Reading) and convert them into local PDF … | 32 | 1003 | maintenance |
| Alchemy Alchemy is an open-source desktop file converter built with Electron and React that lives in the macOS/Windows menu bar. It lets users drag… | 23 | 1000 | maintenance |
| IlyaRice/RAG-Challenge-2 A Python implementation of the winning RAG system from the Enterprise RAG Challenge 2 competition, answering questions about company annual… | 26 | 2458 | experimental |
| jlsutherland/doc2text doc2text is a Python library that extracts high-quality text from poorly scanned PDFs by correcting resolution, cropping, and skew before O… | 32 | 1280 | experimental |
| ThomasRinsma/pdftris A Python-generated PDF file that runs a playable Tetris game inside PDF viewers. It abuses PDF field objects to render a monochrome grid an… | 21 | 1044 | experimental |
| desgeeko/pdfsyntax PDFSyntax is a pure-Python, dependency-free library for inspecting and transforming the internal structure of PDF files down to the byte le… | 36 | 1010 | experimental |
| coolwanglu/pdf2htmlEX pdf2htmlEX is a command-line tool that converts PDF files into HTML while preserving text, fonts, and layout using modern web technologies.… | 10 | 10598 | abandoned |
| the-paperless-project/paperless A self-hosted application for scanning, OCR-indexing, and archiving paper documents with full-text search. This original repo is archived a… | 10 | 7915 | abandoned |
| BookReader An Android e-book reader app ('任阅') for online novels and local txt/pdf/epub books, featuring 3D page-turning effects, bookshelf management… | 32 | 6950 | abandoned |
| axa-group/Parsr Parsr is a document parsing and extraction toolchain that transforms PDFs, images, docx, and eml files into clean, enriched structured data… | 52 | 6170 | abandoned |