wkhtmltopdf today · Alternatives
wkhtmltopdf alternatives
wkhtmltopdf’s status page names three: WeasyPrint or Prince for reports from HTML you control, Puppeteer for pages with dynamic JavaScript. Here they are beside pdfkiln, which keeps wkhtmltopdf’s command line.
| pdfkiln | Puppeteer | WeasyPrint | Prince | |
|---|---|---|---|---|
| Engine | Chromium | Chrome | Its own, in Python | Its own |
| JavaScript | As in Chromium | As in Chrome | None | Off by default; most of ES5 |
| Called as | A command line, wkhtmltopdf’s | A Node.js library | A Python library, a command line | A command line, with wrappers |
| wkhtmltopdf’s options | The 122 of 0.12.6 | No: code to write | No | No |
| PDF/A | Planned in pdfkiln Pro | No | PDF/A-1 to 4, attachments | PDF/A-1 to 3, attachments |
| License | MIT | Apache-2.0 | BSD-3-Clause | Commercial |
Which one
- Your code or a library calls wkhtmltopdf, and your templates must keep their pages: pdfkiln.
- New Node.js code, or browser automation beyond PDFs: Puppeteer.
- HTML written for print, in Python, without JavaScript, PDF/A at no cost: WeasyPrint.
- Paged media and typography first, PDF/UA, a commercial product and its support: Prince.
Sources
wkhtmltopdf’s status page, Puppeteer’s PDF options, WeasyPrint’s API reference, Prince’s JavaScript and PDF output, read on 29 October 2026.