Skip to content
dialegein

Poppler

GPL PDF rendering library and command-line toolset used across Linux desktops.

Jobs Convert Extract View Merge

Since 2005

Where your files are processed

No server involved

A library plus command-line binaries that run in your own process or shell, with no service component of any kind. That is a property of the library itself: what an application built with it does with your file depends on that application, not on this.

Inherent to the technology rather than a vendor claim: a library plus command-line binaries that run in your own process or shell, with no service component, so documents never leave the machine unless you deliberately send them somewhere.

What it does

Poppler is a C++ PDF rendering library forked from the xpdf 3.0 codebase, with C++, GLib, Qt5 and Qt6 frontends, and it is the engine behind many Linux desktop PDF viewers. It also ships command-line utilities including pdftotext, pdftoppm, pdftocairo, pdftohtml, pdftops, pdfinfo, pdfimages, pdfseparate and pdfunite for extracting text and images, rasterising pages, and splitting or joining files. It is a library and toolset, not a finished application.

Best for: Developers and packagers who need a GPL-compatible rendering or text-extraction engine to embed in a larger application, or to script from a shell.

Worth knowing: The core is GPL-2.0-or-later so far as Poppler's own code goes, sitting on an xpdf base that Glyph & Cog released under GPL-2.0, and distribution packaging reads the whole as a mix of GPL-2.0-only and GPL-3.0-or-later. Either way it is copyleft, so it cannot be linked into a closed-source product and there is no permissive option inside Poppler itself. The command-line tools mostly process one document per invocation, which is not the same as there being no batch use: pdfunite takes several source PDFs and one destination, so assembling a document from many files is a single command, and a shell script can run any of the others over a collection. What the suite does not provide is a batch-job interface of its own; that is the caller’s to write.

Details, and where each comes from

Vendor statements, our own reading of their pages, and the things nobody has established yet, each answered separately. Where we have not confirmed something it says so rather than guessing, and a row nobody has established is greyed out.

Versions covered
Linux · Windows · macOS · Android
Website
poppler.freedesktop.org
Requires an account
Not applicable
Watermark on the free tier
No
Maximum file size
Not verified
Batch processing
Not verified
Data residency
Self-hosted
Open source
Yes
Self-hostable
Yes
Licence
GPL-2.0-or-later for Poppler's own changes to the core and utilities, over an xpdf-3.0 base under GPL-2.0; Arch Linux reads the package as GPL-2.0-only plus GPL-3.0-or-later, HPND-sell-variant, LGPL-2.0-or-later, LGPL-2.1-or-later and MIT across bundled components
Redaction
No redaction feature
Programmatic access
Embeddable library · Command line
Last availability check
Responded in 565 ms 16 October 2026

Checked automatically by our own runner, not reported by the vendor. 100% of our last 30 checks got a response.

What the redaction verdict rests on

From the vendor's own documentation, read 22 September 2026. Not tested by us.

What that does not establish: The vendor’s own site was read on 22 September 2026 and contains no mention of redaction, sanitisation, blackout or whiteout. Absence from a vendor’s own material is not proof that a feature does not exist — it may be undocumented, or on a page the reading did not reach — but for a NEGATIVE claim it is the strongest evidence available, and it is weaker than a positive quote. Recorded as such rather than presented as certainty.

https://poppler.freedesktop.org/

What the vendor says

Claims are labelled rather than repeated as fact. Where we have checked something ourselves, it says so and shows when. Checked means we read the vendor's own page and it says what we recorded — not that we tested the behaviour, unless the note says we did.

  • “Poppler is a PDF rendering library based on the xpdf-3.0 code base.”

    Checked by us — the source says this Read 22 September 2026

    Confirmed verbatim: the sentence is the site's opening line, and "based on the xpdf-3.0 code base" is the provenance detail that matters for licensing, since xpdf's licence and Poppler's GPL are different instruments and the site states the lineage rather than leaving it to be discovered. "Rendering library" is also a scope word: Poppler renders pages, and tools built on it — including several PDF readers a reader may already use — do the rest. Recorded as the project's description.

    Standing: Re-read and matched byte for byte

    Check it yourself: the source, the SHA-256, and how we checked
    From
    the text a browser renders
    SHA-256
    5cd4b0a1e92797f1af0eea184be15fff1d76feaa11447d7df69a7d3d3ed776ba

    How we checked: Re-verified verbatim on 2026-09-22: https://poppler.freedesktop.org/ re-rendered in headless Chrome with scripts/render-page.mjs and the claim's wording found in the rendered text. Originally verified on 2026-09-21. sourceHash is the SHA-256 of the re-rendered text, held as rv-poppler-freedesktop-org-7278e335.txt.

    What this hash proves, and what it does not

  • “All changes made under the Poppler project to this file are licensed under GPL version 2 or later”

    Checked by us — the source says this Read 25 September 2026

    Confirmed, and it corrects this record. The file carries "Copyright 1996-2003 Glyph & Cog, LLC" for the inherited xpdf base and then a Poppler block containing the sentence quoted. WHAT IT DOES NOT SETTLE, and is recorded rather than glossed: the inherited base is under its own GPL-2.0 terms, so the package as a whole is a mix, which is why Arch Linux lists both GPL-2.0-only and GPL-3.0-or-later. The consequence for a reader is narrow but real: the practical bar is unchanged, since it is copyleft either way, but "or later" means the terms can be taken to GPL-3.0, which is the version Apache-2.0 is compatible with.

    Standing: Not re-read against the live source

    Check it yourself: the source, the SHA-256, and how we checked
    From
    the text a browser renders
    SHA-256
    9f9f4a1d1b58f71c8b7e291bdd649e2e564ec19026678120160b11f1630d0b17

    How we checked: Fetched from the project's GitLab on 2026-09-25, HTTP 200, 85122 characters, and held as poppler-PDFDoc.cc.txt. A source file header is the only place that settles whether the terms are version 2 only or version 2 or later, because COPYING cannot: the appendix sentence about "any later version" is a template the GPL offers to other projects, not a statement about this one. utils/pdftotext.cc was fetched the same way and carries the identical wording, so this is the project's standing form rather than one file's accident.

    What this hash proves, and what it does not

Each claim is quoted from the vendor's own pages. This section describes what we have and have not checked — it is not a judgement about anyone.

Sponsorship is distribution, not an endorsement or a promise of search rankings, AI citations, traffic, or sales. This listing is a free entry, compiled from published sources.

Visit Poppler Report a problem

Related reading

How this record was put together

Editorial review.
No editor has signed this record off. That is not the same as nothing having been checked, and the lines below say what has.
Source reading.
2 claims taken from the vendor's own pages, read between 22 September 2026 and 25 September 2026.
Website availability.
The vendor's site was last checked on 16 October 2026.
Behaviour testing.
We ran this ourselves. The file handling was watched directly.

Sources: poppler.freedesktop.org read 2026-09-22; upstream COPYING, poppler/PDFDoc.cc and utils/pdftotext.cc fetched from the project's GitLab on 2026-09-25 and held as poppler-COPYING.txt, poppler-PDFDoc.cc.txt and poppler-pdftotext.cc.txt; Arch Linux package metadata; Debian man page for pdftoppm; LWN announcement of the original Poppler release.