pdftk-java
Java port of pdftk for scripted merging, splitting, form filling and encryption.
Where your files are processed
No server involved
Local command-line program that reads and writes files on the invoking machine. No account and no service.
Architectural rather than a vendor claim: pdftk-java is a local command-line program that reads input files and writes output files on the invoking machine. There is no vendor service, account or upload step.
What it does
pdftk-java is a Java re-implementation of the original pdftk command-line PDF toolkit, deliberately keeping the same command syntax. It assembles and splits documents by page range, rotates pages, collates scans, fills and flattens AcroForm forms from FDF or XFDF data, applies background or stamp watermarks, reports and updates metadata, bookmarks and page metrics, attaches files, and adds or removes password encryption with permission flags. It assembles pages and forms rather than editing content.
Best for: Scripts, cron jobs and administrators who need pdftk's page-assembly, form-filling and encryption operations and want a maintained build that runs on any JVM instead of a C++ binary.
Worth knowing: Command line only, and the README itself recommends iText or OpenPDF if you want a library to call from Java. Its compress and uncompress switches are stream filters meant for hand-editing PDF source, so they will not meaningfully shrink a scanned PDF, and it does no OCR or format conversion. The newest release dates from 2022.
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
- Windows · macOS · Linux · Self-hosted
- Website
- gitlab.com
- Requires an account
- No
- Watermark on the free tier
- No
- Maximum file size
- Not verified
- Batch processing
- Yes
- Data residency
- Self-hosted
- Open source
- Yes
- Self-hostable
- Yes
- Licence
- GPL-2.0-or-later
- Redaction
- No redaction feature
- Programmatic access
- Command line
- Last availability check
- Responded in 451 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.
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.
-
“If you are already using pdftk, then pdftk-java should be a seamless replacement.”
Checked by us — the source says this Read 22 September 2026
Confirmed verbatim: the sentence is an answer in the project's FAQ. The rest of that answer is the part a reader should have, because it bounds the claim — for occasional command-line use pdftk-java "should do the job", but "if you want a robust library to call from a Java program (or a similar language), then it it probably better to use a proper library, for instance the iText library that pdftk-java uses internally or its more permissively licensed fork OpenPDF". So the project recommends against itself for programmatic use, names two alternatives, and mentions that one is more permissively licensed than the other — with a doubled word of its own that is preserved here.
Standing: Re-read: the text is unchanged, but the page publishes values that move
Check it yourself: the source, the SHA-256, and how we checked
- From
- the text a browser renders
- SHA-256
- a2686c01e03fb4284eb1408db6861c29a5389d1c10a575aa4b7af93c6340f772
How we checked: Re-verified verbatim on 2026-09-22: https://gitlab.com/pdftk-java/pdftk 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-gitlab-com-pdftk-java-pdftk-af25be3a.txt.
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.
Related reading
- Which PDF tools keep your file on your machine — what we count as processing on your own device.
- Open source PDF tools, and what their licences require — what open source does and does not tell you.