Compare

PDFGate vs wkhtmltopdf

A maintained Chrome-based API vs an old command-line tool built on WebKit engine.

Last reviewed: October 3, 2026

Modern CSS and JavaScript

PDFGate renders with current Chrome, so layouts and scripts work as they do in the browser. According to its maintainers, the WebKit engine in wkhtmltopdf has not been updated since 2012, so newer features such as CSS Grid are not supported.

Maintained and updated

PDFGate is actively maintained. The wkhtmltopdf repository was archived in 2023, and its maintainers warn that converting untrusted HTML can lead to a complete takeover of the server.

Nothing to install or run

PDFGate is an API, so there are no binaries, servers, or Qt dependencies to manage. wkhtmltopdf has to be installed, run, and scaled on your own infrastructure.

Which one should you choose?

wkhtmltopdf is an open-source command-line tool that converts HTML to PDF with the Qt WebKit engine. Its repository was archived in January 2023, and its last release, 0.12.6, came out in June 2020. PDFGate's HTML to PDF API renders with current Chrome, so modern CSS and JavaScript work as they do in the browser, and it adds PDF processing and e-signatures.

Choose PDFGate if

  • Your templates use modern CSS, such as CSS Grid, or JavaScript frameworks and chart libraries.
  • You want a maintained renderer that keeps up with browser and security updates.
  • You don't want to install, run, and scale a binary on your own servers.
  • Your pages load data with JavaScript and need reliable waiting options.
  • You want to send documents for e-signature from the same API.
  • You need to compress, flatten, watermark, protect, or extract form data from PDFs.

Choose wkhtmltopdf if

  • Documents must never leave your own servers, and you only convert HTML you control.
  • Your templates are simple HTML and CSS that already render correctly.
  • You need a free tool and accept that it receives no updates or support.
  • You need an automatically generated table of contents.
  • You need to convert documents without an internet connection.

Comparing more options? See our roundup of the Best HTML to PDF APIs in 2026, where we compare more tools side by side.

An outdated WebKit engine vs current Chrome

wkhtmltopdf renders pages with Qt WebKit. Its project status page explains that QtWebKit was deprecated in 2015 and removed in 2016, that the Qt 4 version wkhtmltopdf uses has not been supported since 2015, and that its WebKit has not been updated since 2012.

As a result, browser features added since then, such as CSS Grid, CSS variables, and modern JavaScript, are not supported. Templates that look right in the browser often need workarounds or a separate, simplified version to render in wkhtmltopdf.

PDFGate renders with current Chrome, so the PDF matches what you see in the browser. wkhtmltopdf's own status page recommends a Chrome-based tool for pages that rely on JavaScript.

Feature comparison

"Not built in" means wkhtmltopdf does not include the feature itself. For everything PDFGate offers, see the HTML to PDF API page.

HTML to PDF rendering

FeaturePDFGatewkhtmltopdf
Rendering engineCurrent ChromeQt WebKit, not updated since 2012
Modern CSS, such as CSS Grid and variablesYesNot supported
Modern JavaScriptYesOlder JavaScript only
Convert a URL or raw HTMLBothURLs and HTML files
Wait for dynamic contentCSS selector, network idle, or delayFixed delay or a window.status value
Inject CSS and JavaScriptYesUser style sheet and run-script
Headers, footers, and page numbersHeader and footer templatesHTML headers and footers
Click through cookie banners and pop-upsClick selectors and selector chainsNot built in
Pages behind authenticationBasic authentication and custom HTTP headersBasic authentication, custom headers, and cookies
Fillable PDF form fieldsFrom HTML inputs, including signature fieldsFrom HTML forms
Table of contentsNot offeredGenerated automatically

Beyond generation

FeaturePDFGatewkhtmltopdf
E-signaturesEnvelopes, recipients, and audit trailNot built in
Password protection and watermarksProtect PDF and Watermark PDF endpointsNot built in
Compress and flatten PDFsDedicated endpointsNot built in
Extract form data from PDFsDedicated endpointNot built in

Running it

FeaturePDFGatewkhtmltopdf
SetupNothing to install; send an API requestInstall the binary and its dependencies on your servers
ScalingManaged, with 3 to 25 parallel conversions depending on the planYou run and scale it yourself
Maintenance and security updatesActively maintainedNone since the repository was archived in 2023
Untrusted HTMLRendered on PDFGate's servers, not yoursMaintainers warn it can lead to a server takeover
Document storageStored up to 2 years, with pre-signed URLsWrites files to your own disk
Data locationAWS in the EU (Frankfurt)Your own servers
SDKsNode.js, Python, PHP, Java, C#Command line, with community wrappers for many languages
No-code integrations and MCP serverZapier, viaSocket, and others, plus an MCP serverNot built in
SupportEmail support on every planNone

Cost of running it yourself

wkhtmltopdf is free and open source under the LGPL-3.0 license, but running it in production still costs money: servers sized for rendering, keeping the binary and its dependencies installed, monitoring conversions that hang or fail, and developer time spent working around rendering issues.

Because the project no longer receives updates, you also carry the security risk. Its maintainers warn not to convert untrusted HTML, because it can lead to a complete takeover of the server.

With PDFGate, servers, scaling, and Chrome updates are included in the plan, and every plan starts with a 14-day free trial.

PDFGate plans

PlanPrice / monthDocuments / monthCost per document
Personal$9500$0.018
Starter$203,000$0.0067
Basic$5010,000$0.005

Migrating from wkhtmltopdf to PDFGate

Each wkhtmltopdf command-line option has an equivalent field in a PDFGate API request, so most commands translate directly into JSON.

wkhtmltopdfPDFGate
wkhtmltopdf <url or file> output.pdfPOST https://api.pdfgate.com/generate/pdf with url or html
--page-size A4pageSizeType: "a4"
--page-width and --page-heightwidth and height in pixels
-O Landscapeorientation: "landscape"
-T, -B, -L, -Rmargin.top, margin.bottom, margin.left, margin.right
--header-html and --footer-htmlheader and footer, with margin.top and margin.bottom
[page] and [topage]pageNumber and totalPages classes
--javascript-delaydelay
--window-statuswaitForSelector
--run-scriptjavascript
--user-style-sheetcss
--print-media-typeemulateMediaType: "print"
--no-backgroundprintBackground: false
--zoomscale
--username and --passwordauthentication.username and authentication.password
--custom-header and --cookiehttpHeaders, with a Cookie header for cookies
--enable-formsenableFormFields: true
  • wkhtmltopdf uses A4 and 10 mm side margins by default. PDFGate uses Ledger and no margins unless you set them, so set pageSizeType and margin explicitly.
  • Instead of setting window.status when the page is ready, add an element and wait for it with waitForSelector.
  • PDFGate can't read files from your disk. Send local templates with the html parameter, and use absolute URLs or Base64 data for images and fonts, as described in the custom fonts and images guide.
  • Chrome renders CSS more accurately than wkhtmltopdf, so remove any workarounds written for its older engine and check the output.

wkhtmltopdf request

1wkhtmltopdf \2  --page-size A4 \3  --print-media-type \4  -T 20mm -B 20mm \5  https://example.com/invoice/42 output.pdf

PDFGate request

1curl -X POST https://api.pdfgate.com/generate/pdf \2  -H "Authorization: Bearer YOUR_API_KEY" \3  -H "Content-Type: application/json" \4  -d '{5    "url": "https://example.com/invoice/42",6    "pageSizeType": "a4",7    "emulateMediaType": "print",8    "margin": { "top": "20mm", "bottom": "20mm", "left": "10mm", "right": "10mm" }9  }' \10  -o output.pdf

Information about wkhtmltopdf comes from its official website and repository and was last reviewed on October 3, 2026. Features may have changed since then.

Frequently Asked Questions

No. The wkhtmltopdf repository was archived in January 2023 and is read-only. Its last release, 0.12.6, came out in June 2020, and the project no longer receives updates or security fixes.

For pages that use modern CSS or JavaScript, switch to a Chrome-based tool. You can run a headless browser library such as Puppeteer yourself, or use a hosted HTML to PDF API like PDFGate so you don't have to manage servers. For static documents designed for print, wkhtmltopdf's maintainers also suggest WeasyPrint or the commercial tool Prince.

wkhtmltopdf uses a WebKit engine that has not been updated since 2012, so it does not support newer CSS such as CSS Grid and variables, or modern JavaScript. A Chrome-based renderer like PDFGate produces the same result you see in the browser.

Its maintainers warn not to use wkhtmltopdf with untrusted HTML, because it can lead to a complete takeover of the server. If you convert user content, sanitize it carefully or use a maintained renderer.

Usually, yes. Translate the command-line options into API fields as shown in the migration table, replace [page] and [topage] in headers and footers with the pageNumber and totalPages classes, and set the page size and margins explicitly.

Start building with PDFGate today

Generate PDFs, send documents for signature, and automate your document workflows in minutes.

Free trial ยท No credit card required