Skip to content
dialegein

tc-lib-pdf

PHP PDF library built from focused packages, the successor to the deprecated TCPDF.

Jobs Convert

Since 2004

Operated by Tecnick.com

Where your files are processed

No server involved

PHP packages running in your own process. The project's own framing is that everything runs in PHP with nothing to keep alive next to your application. 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.

Generation runs in the caller’s PHP process, so the document is built on the machine running the script. That is not the same as having no external interactions: the requirements include PHP extensions, curl is optional for timestamp authorities, signing and revocation are configured against endpoints, and the library offers controlled access to remote resources. Pure PHP describes the language, not the absence of native extensions or network calls. It is also not a drop-in TCPDF replacement: the API and package organisation differ and font generation changed, so migration is work.

What it does

tc-lib-pdf generates PDFs in PHP, including rendering HTML, CSS and SVG, and it is assembled from a set of independently versioned packages that cover colour, fonts, images, graphics, pages, filtering, encryption and digital signatures. Nothing else has to be running: there is no headless browser to install and no rendering service to call. It is the continuation of TCPDF, the library that for years was how PHP produced a PDF, and the project is candid that anyone still running the old repository should migrate in phases rather than in a hurry.

Best for: PHP applications that need to author documents — invoices, reports, labels, statements — with HTML or SVG input, without adding a browser or a service to the deployment. The package split is a benefit for teams that want only part of the stack, since the colour or font packages can be used on their own.

Worth knowing: The name is the trap. TCPDF is the library most people have heard of, and its repository is now deprecated: development moved to tc-lib-pdf, and a reader arriving from an old tutorial, a composer.json or a Stack Overflow answer will be looking at the predecessor. The project's guidance is sensible — existing installations are not broken and should be migrated in phases — but a new project that starts on TCPDF is starting on the wrong library. Code that does run has the licence obligations of LGPL-3.0-or-later, which is copyleft. And the package split, which is an architectural strength, is also an operational detail: a full installation pulls in many small dependencies, each independently versioned, which is a larger surface to track than a single library would be.

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
Self-hosted
Website
tcpdf.org
Requires an account
Not applicable
Watermark on the free tier
Not verified
Maximum file size
Not verified
Batch processing
Yes
Data residency
Self-hosted
Open source
Yes
Self-hostable
Yes
Licence
LGPL-3.0-or-later
Redaction
No redaction feature
Programmatic access
Embeddable library
Last availability check
Responded in 342 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: Recorded as `none` on absence and structurally: this is an authoring library that creates documents rather than opening existing ones, so there is no PDF for a redaction feature to act on. What it does not establish: that a document it produces is safe to share. Its feature set includes encryption and digital signatures, which are about protecting a document rather than removing content from one — a distinction this index exists to keep separate.

https://tcpdf.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.

  • “The legacy TCPDF repository at https://github.com/tecnickcom/TCPDF is deprecated. Development continues at https://github.com/tecnickcom/tc-lib-pdf.”

    Checked by us — the source says this Read 1 October 2026

    Confirmed. The quoted text appears in the rendered page as read on 2026-10-01. This claim was carried as reported rather than checked until this read.

    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
    cf0404fb41cab9a90434f529bf8ffb7bfe5e9b4296e36936c0a1ba150cd4c688

    How we checked: Read as rendered text in headless Chrome on 2026-10-01 and saved to the evidence archive, so the read can be repeated against the same file. Comparison ignores case, punctuation and hyphenation, which is why "open-source" on the record matches "open source" on the page.

    What this hash proves, and what it does not

  • “Everything runs in PHP. There is no headless browser to install, no rendering service to call, and nothing to keep alive next to your application.”

    Checked by us — the source says this Read 1 October 2026

    Confirmed. The quoted text appears in the rendered page as read on 2026-10-01. This claim was carried as reported rather than checked until this read.

    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
    cf0404fb41cab9a90434f529bf8ffb7bfe5e9b4296e36936c0a1ba150cd4c688

    How we checked: Read as rendered text in headless Chrome on 2026-10-01 and saved to the evidence archive, so the read can be repeated against the same file. Comparison ignores case, punctuation and hyphenation, which is why "open-source" on the record matches "open source" on the page.

    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 tc-lib-pdf 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 1 October 2026 and 1 October 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: tcpdf.org, read 2026-09-22 with headless Chrome, including the licence line, the deprecation notice, the feature index and the package list. Project documentation, not independently tested; no package was installed and no document was generated.