Browse free open source PDF software and projects for Windows and Mac below. Use the toggles on the left to filter open source PDF software by OS, license, language, programming language, and project status.

  • Try Google Cloud Risk-Free With $300 in Credit Icon
    Try Google Cloud Risk-Free With $300 in Credit

    No hidden charges. No surprise bills. Cancel anytime.

    Use your credit across every product. Compute, storage, AI, analytics. When it runs out, 20+ products stay free. You only pay when you choose to.
    Start Free
  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • 1
    Tabula

    Tabula

    Extract data in CSV format from PDFs

    If you’ve ever tried to do anything with data provided to you in PDFs, you know how painful it is — there's no easy way to copy-and-paste rows of data out of PDF files. Tabula allows you to extract that data into a CSV or Microsoft Excel spreadsheet using a simple, easy-to-use interface. Tabula works on Mac, Windows and Linux. Tabula was created by journalists for journalists and anyone else working with data locked away in PDFs. Tabula will always be free and open source.
    Downloads: 32 This Week
    Last Update:
    See Project
  • 2
    jsPDF

    jsPDF

    HTML5 client solution for generating PDFs

    The leading HTML5 client solution for generating PDFs. Perfect for event tickets, reports, certificates, you name it! PDFs are ubiquitous across the web, with virtually every enterprise relying on them to share documents. We created jsPDF to solve a major problem with how pdf files were being generated. We decided to make it open-source to allow a community of developers to expand on it.
    Downloads: 17 This Week
    Last Update:
    See Project
  • 3
    Nano PDF Editor

    Nano PDF Editor

    Edit PDF files with Nano Banana

    Nano PDF Editor is a minimalist, portable PDF viewer and toolkit that focuses on simplicity, speed, and ease of integration for applications that need basic PDF rendering without heavy dependencies. It provides core functionality such as page navigation, zooming, text selection, and rendering directly to native graphics surfaces, making it suitable for lightweight PDF viewing scenarios on desktop or embedded platforms. Designed to be easily embedded into larger software projects, Nano-PDF has a small code footprint and straightforward APIs that developers can call from common languages, helping it fit into text editors, document explorers, or custom user interfaces with minimal effort. The viewer strives to comply with standard PDF features, like annotations and linked bookmarks, while avoiding the complexity of full-featured document suites that prioritize editing or creation.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 4
    pdfmake

    pdfmake

    Client/server side PDF printing in pure JavaScript

    Print PDFs directly in the browser or delegate it to your NodeJS backend. Use the same document definition in both cases. Forget about manual x, y calculations. Declare document structure and let pdfmake do the rest. Use paragraphs, columns, lists, tables, canvas, etc. Declare your own styles, use custom fonts, build a DSL and extend the framework. Provides a set of options to disable font layout cache and to control when pages are flushed to the output file. Pdfmake is runnable in browser (client-side) and in Node.js (server-side). PDF name can be defined only by using metadata title property. Add-ons used in browsers can affect the functionality of pdfmake (especially for open() and print()). If pdfmake is not working try disable add-ons in browser. The supported browsers are Internet Explorer 10+, Edge 12+, Firefox, Chrome, Opera and Safari.
    Downloads: 9 This Week
    Last Update:
    See Project
  • Gemini 3 and 200+ AI Models on One Platform Icon
    Gemini 3 and 200+ AI Models on One Platform

    Access Google's best plus Claude, Llama, and Gemma. Fine-tune and deploy from one console.

    Build generative AI apps with Vertex AI. Switch between models without switching platforms.
    Start Free
  • 5
    iLovePDF Api

    iLovePDF Api

    iLovePDF Rest Api - PHP Library

    Develop and automate PDF processing tasks like Compress PDF, merging PDF, Split PDF, converting Office to PDF, PDF to JPG, Images to PDF, adding Page Numbers, Rotate PDF, Unlocking PDF, stamping a Watermark, and Repair PDF. Each one with several settings to get your desired results. Strong infrastructure to offer the best-dedicated processing power. You might know us from ilovepdf.com where we process millions of PDFs daily. We offer a simple and concise API Reference and Guide as well as API Libraries with their own docs too. Our infrastructure uses the best PDF technology for processing PDF files. Merge and split documents with a variety of custom options. Remove, extract or organize PDF pages as you need. Reduce the size of your PDF while maintaining its original quality and formatting. Easily convert Images, MS Word, PowerPoint and Excel files into non-editable PDF documents. Convert PDF documents to JPG images or to PDF/A format.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 6
    QuestPDF

    QuestPDF

    A library that can help you with generating PDF documents

    Quickly design and generate PDF documents with an open-source, modern, and battle-tested C# library. Forget about limitations, feel confident, enjoy your task and efficiently deliver professional products. QuestPDF is a progressive library that can help you with generating PDF documents in your .NET application by offering a friendly, discoverable and predictable C# fluent API. Do you believe that creating a complete invoice document can take less than 200 lines of code? We have prepared for you a step-by-step instruction that shows every detail of this implementation and describes the best patterns and practices. This library is created specifically for designing and arranging document layouts, with full paging support. Alternative solutions, such as HTML-based converters, are not designed for this purpose and therefore are often unpredictable and do not produce desired results.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 7
    WebViewer UI

    WebViewer UI

    WebViewer UI built in React

    WebViewer UI sits on top of WebViewer, a powerful JavaScript-based PDF Library that's part of the PDFTron PDF SDK. Built in React, WebViewer UI provides a slick out-of-the-box responsive UI that interacts with the core library to view, annotate and manipulate PDFs that can be embedded into any web project. This repo is specifically designed for any users interested in advanced customizations. With the source code access, it gives developers full control to customize & style the UI, build custom controls & logic, integrate into workflows, or build a UI from scratch. Any approved pull requests made to this repository are merged into WebViewer's internal builds, and can be accessed through the nightly builds. Any approved pull requests to the master branch will go to WebViewer's nightly experimental builds and pull requests to version number branches will go to that version's nightly stable.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 8
    Laravel PDF

    Laravel PDF

    Create PDF files in Laravel apps

    This package provides a simple way to create PDFs in Laravel apps. Under the hood it uses Chromium to generate PDFs from Blade views. You can use modern CSS features like grid and flexbox to create beautiful PDFs.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 9
    PDF Merge and Edit

    PDF Merge and Edit

    Python script to merge and edit sensitive PDF files

    Python script to merge and edit sensitive PDF files you don't want to upload to random sites you find on Google. Merge PDFs by adding one to another. Update a single page in a PDF (good for adding a signed page to a form) Insert a page into an existing PDF. Delete a page. Click on one of the buttons and a new window will pop up depending on the function. Pick your files and enter in the data. If there are no problems, a confirmation will pop up.
    Downloads: 2 This Week
    Last Update:
    See Project
  • Application Monitoring That Won't Slow Your App Down Icon
    Application Monitoring That Won't Slow Your App Down

    AppSignal's Rust-based agent is lightweight and stable. Already running in thousands of production apps.

    Full APM with errors, performance, logs, and uptime monitoring. 99.999% uptime SLA on the platform itself.
    Start Free
  • 10
    Snappy PDF

    Snappy PDF

    A ServiceProvider for Snappy

    Laravel Snappy is a Laravel wrapper around the Snappy PDF/Image library, which itself is powered by wkhtmltopdf and wkhtmltoimage, allowing you to generate PDFs and images directly from HTML. It lets you take a Blade view, raw HTML string, or file and turn it into a downloadable, savable, or in-browser PDF/image response with just a few lines of code. The package integrates cleanly with the Laravel service container and offers a simple facade/API so you can quickly configure page size, orientation, margins, and other options. Because it relies on wkhtmltopdf, it supports complex HTML and CSS (including many types of fonts, layouts, and images) much better than many pure-PHP solutions. It’s commonly used for invoices, reports, tickets, labels, and any other server-side generated documents where consistent layout matters. The package is widely used in the Laravel ecosystem and has community documentation, tutorials, and integrations with other tools and CMSs based on Laravel.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 11
    py-pdf-parser

    py-pdf-parser

    A Python tool to help extracting information from structured PDFs

    py-pdf-parser is a Python tool designed to help extract information from structured PDFs. It provides a simple interface to define parsing rules and extract data from PDF documents. ​
    Downloads: 1 This Week
    Last Update:
    See Project
  • 12
    Gotenberg

    Gotenberg

    A Docker-powered stateless API for PDF files

    Gotenberg provides a developer-friendly API to interact with powerful tools like Chromium and LibreOffice for converting numerous document formats (HTML, Markdown, Word, Excel, etc.) into PDF files, and more! Thanks to Docker, you don't have to install each tool in your environments; drop the Docker image in your stack, and you're good to go! The webhook feature allows you to upload the output file to the destination of your choice. There are many options to fit your requirements, from the custom HTTP headers sent to your webhook to the HTTP method used to call it. Gotenberg is a platform composed of modules; each module has properties you may customize to your flavor. Build your own Docker image by adding new tools and create modules that provide new routes to the API. Gotenberg provides a developer-friendly API to interact with powerful tools like Chromium and LibreOffice for converting numerous document formats (HTML, Markdown, Word, Excel, etc.) into PDF files, and more!
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    Laravel Report Generators

    Laravel Report Generators

    Rapidly Generate Simple Pdf, CSV, & Excel Report Package on Laravel

    Rapidly generate simple PDF reports on Laravel or CSV/Excel reports. This package provides simple PDF, csv & excel report generators to speed up your workflow. It also allows you to stream(), download(), or store() the report seamlessly.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14
    OCRBase

    OCRBase

    MD/.JSON Document OCR and structured data extraction API

    OCRBase is a self-hostable document OCR and structured extraction system built to turn PDFs into machine-usable outputs at scale, aiming to bridge the gap between raw text extraction and production-ready pipelines. Instead of treating OCR as a one-off script, it presents an API-driven workflow where documents are submitted as jobs and processed through a queue-based architecture that can handle high throughput. The core output is designed for downstream automation, producing structured results like JSON according to user-defined schemas while also providing readable formats like Markdown for human review or indexing. It includes real-time job progress updates via WebSockets, which makes it easier to integrate into UIs, dashboards, or ingestion systems where users need feedback on long-running document processing.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    PDF API HTML5 Web Apps

    PDF API HTML5 Web Apps

    Mini SDK JavaScript API library PDF web apps

    A condensed library designed to web modern applications, to quickly export your content html to pdf thanks the famous library in javascript: jsPDF. And a special thanks to the project canvg and html2canvas. Project documentation: http://ulmdevice.altervista.org/pdfapihtml5/#documentation ========== Also available service for Angular 7+: http://ulmdevice.altervista.org/pdfjsapi/ Mobile Applications: http://bit.ly/1MrlgKk Opera add-on: http://bit.ly/1kkMhTa
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    Snappy PHP

    Snappy PHP

    PHP library allowing thumbnail, snapshot or PDF generation from an URL

    Snappy is a PHP library allowing thumbnail, snapshot or PDF generation from a url or a html page. It uses the excellent WebKit-based wkhtmltopdf and wkhtmltoimage available on OSX, Linux, Windows. You will have to download wkhtmltopdf 0.12.x in order to use Snappy.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17
    Tile Pattern Exporter

    Tile Pattern Exporter

    Tile large format PNG patterns into print-at-home PDF pages

    You can tile large format PNG patterns into print-at-home PDF pages. Created for LearnMYOG. This set of scripts automates the tiling of large format PNG files into letter(A4), tabloid(A3), and A0 sized PDF pages with print margins, alignment and cut guides, page numbers, and a copyright stamp to each page. For best results, input an exported PNG with size in multiples of 7.5 inches wide and 10 inches tall @ 300dpi.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18
    pdf-bot

    pdf-bot

    A Node queue API for generating PDFs using headless Chrome

    pdf-bot is a Node.js microservice designed to automate the generation of PDF documents from web pages using headless Chrome. The project provides a queue-based API that allows developers to submit URLs for PDF generation, which are then processed asynchronously by the service. Once a document is generated, the system can notify external applications through webhooks, enabling integration with other backend systems or automation pipelines. The service is particularly useful for generating documents such as invoices, reports, and archived web content in a reliable and scalable way. PDF Bot also supports integration with cloud storage services like Amazon S3, allowing generated files to be stored and distributed automatically. The architecture separates the PDF rendering engine from application logic, making it easy to deploy as a standalone service within larger systems.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    tinypdf

    tinypdf

    Minimal PDF creation library

    tinypdf is a minimal, zero-dependency PDF generation library that focuses on the core “put content on a page” use case while intentionally skipping heavyweight features. It is designed to be extremely small and approachable, making it a good fit when you want to generate real PDFs in Node/TypeScript without pulling in a large toolkit. The library supports essential primitives like writing text, drawing basic shapes, and placing JPEG images, which covers common needs such as invoices, receipts, tickets, and simple reports. It also supports clickable links so generated documents can include interactive URLs, and it can create multi-page documents with custom page sizes. A notable convenience is built-in markdown-to-PDF conversion for common structures like headers and lists, letting you go from formatted text to a PDF layout quickly.
    Downloads: 0 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • Next
MongoDB Logo MongoDB