wkhtmltopdf vs ForgeKit
Last verified: Feb 1, 2026
TL;DR: wkhtmltopdf is legacy. ForgeKit uses modern headless Chrome for accurate JS-rendered PDFs.
Compare output with ForgeKit
Feature comparison
| Feature | ForgeKit | wkhtmltopdf |
|---|---|---|
| Managed infrastructure | true | false |
| Avg response time | 1800ms | 5200ms |
| JavaScript rendering | true | false |
| PDF generation | true | true |
| MCP / agent support | true | false |
| Free tier | true | true |
| Rate limit (req/min) | 60 | N/A |
| SDK languages | REST, MCP, OpenAPI | CLI |
wkhtmltopdf strengths
- Battle-tested CLI
- Fast for static HTML
wkhtmltopdf weaknesses
- Unmaintained WebKit fork
- No modern JS support
- Security concerns on old builds
When to choose each
Choose wkhtmltopdf if: battle-tested cli.
Choose ForgeKit if: you want managed utility APIs with MCP support.
Pricing at scale
| Volume | ForgeKit | wkhtmltopdf |
|---|---|---|
| 1,000 requests/mo | $19 (Starter) | Self-hosted |
| 10,000 requests/mo | $49 (Build) | Contact sales |
| 100,000 requests/mo | $99 (Scale) | Enterprise |
Migration guide
// wkhtmltopdf approach
const result = await captureWithwkhtmltopdf({
url: "https://example.com",
format: "png",
});// ForgeKit — one REST call
const res = await fetch("https://useforgekit.dev/api/v1/screenshot", {
method: "POST",
headers: {
"Authorization": "Bearer fk_live_...",
"Content-Type": "application/json",
},
body: JSON.stringify({ url: "https://example.com", width: 1280 }),
});
const { jobId } = await res.json();Sign up free — 250 credits included.