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

Visit tc-lib-pdf

Opens the vendor's own site.

Jobs covered

Open a task to see exactly what the vendor documentation supports.

Convert Browse all convert tools

generating and composing PDFs with tc-lib-pdf: HTML/CSS and SVG rendering into PDF, PDF/A (1/2/3 a/b/u), PDF/X and PDF/UA (1/2) output, images/barcodes/annotations/forms, encryption and PAdES signing, plus importing pages from existing PDFs as Form XObjects and placing/appending them into a new document. The scope records the documented PDF generation/composition and standards-output paths; it excludes OCR, text extraction, redaction, arbitrary editing of existing PDF bodies, Office/other-format conversion, independent PDF/A/UA validation/certification, hosted conversion services and a drop-in TCPDF API claim

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. It is not a no-external-interaction claim: PHP extensions are required, curl is optional for timestamp authorities, signing/revocation use configured endpoints, and the library offers controlled remote-resource access.

Pure PHP describes the language, not the absence of native extensions or network calls.

What it does

tc-lib-pdf generates PDFs in PHP, including rendering HTML, CSS and SVG, and is assembled from independently versioned packages covering colour, fonts, images, graphics, pages, filtering, encryption and digital signatures. It can output PDF/A (1/2/3 a/b/u), PDF/X and PDF/UA (1/2), sign up to PAdES B-LTA, add annotations/forms and import pages from existing PDFs as Form XObjects; there is no headless rendering engine or rendering service in the pipeline.

Current Packagist release is 8.81.1 (17 October 2026), requiring PHP ^8.2 and standard extensions; code is LGPL-3.0-or-later. It is the continuation of TCPDF, whose legacy repository is deprecated; migration is phased, not a drop-in replacement.

It is a generation/composition library, not an OCR, extraction, redaction or general PDF-editing tool.

Best for

PHP applications that need to author documents - invoices, reports, labels, statements - with HTML or SVG input, without adding a rendering engine 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.

Existing installations are not broken and should be migrated in phases, but a new project starting on TCPDF is starting on the wrong library. Running it carries LGPL-3.0-or-later copyleft obligations.

The package split, an architectural strength, also means a full installation pulls in many independently versioned dependencies, a larger surface to track. Generation is in-process PHP, not a hosted service, but it is not a no-network claim: required PHP extensions, optional curl for timestamp authorities, configured signing/revocation endpoints and controlled remote-resource access can all involve external interactions.

It is not a drop-in TCPDF replacement: the API, package organisation and font generation differ. PDF/A, PDF/X and PDF/UA are conformance outputs, not an independent validation/certification service; OCR, extraction, redaction and general editing of arbitrary existing PDFs are out of scope.

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.

LGPL-3.0-or-later. Packagist metadata for 8.81.1 declares LGPL-3.0-or-later and requires PHP ^8.2 plus ext-ctype/filter/hash/json/mbstring/openssl/pcre/xml/zlib and the tc-lib-* companion packages; GitHub reports NOASSERTION because of additional licence text.

The library is free/open source; no hosted service, account or price applies. Copyright is Tecnick.com/Nicola Asuni.

Redaction
No redaction feature
Programmatic access
Embeddable library
Last availability check
Responded in 765 ms 21 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 16 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 16 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 16 October 2026 and 16 October 2026.
Website availability.
The vendor's site was last checked on 21 October 2026.
Behaviour testing.
We ran this ourselves. The file handling was watched directly.

Sources: https://repo.packagist.org/p2/tecnickcom/tc-lib-pdf.json (8.81.1, 17 October 2026, PHP ^8.2, LGPL-3.0-or-later, extensions/companion packages; read 2026-10-16); https://github.com/tecnickcom/tc-lib-pdf (created 2016-06-10, last push 2026-10-17, latest release 8.81.1; read 2026-10-16); README (HTML/CSS/SVG rendering, PDF/A/X/UA, signing PAdES B-LTA, annotations/forms, encryption, PDF page import, no headless browser, LGPL; read 2026-10-16).