PDFCrowd alternative: html-pdf.com
PDFCrowd alternative with per-page credits that never expire instead of monthly credits that reset. Plus a remote MCP server and an easy migration.
Quick answer. html-pdf.com turns HTML or a URL into a PDF with one JSON request. You pay 1 credit per page, credits never expire, and you get 100 free credits to start.
curl -X POST https://html-pdf.com/v1/pdf \
-H "Authorization: Bearer $HTML_PDF_KEY" \
-H "Content-Type: application/json" \
-d '{"html": "<h1>Hello</h1>"}' \
-o hello.pdf
PDFCrowd is a long-running HTML to PDF service with client libraries for many languages, image output and a WordPress plugin. html-pdf.com covers the core job (HTML or a URL to PDF with headless Chromium) with prepaid credits that don't reset and a hosted MCP server for AI agents. Below is a fair comparison, including when PDFCrowd is the better fit.
PDFCrowd vs html-pdf.com at a glance
This table shows the main differences side by side.
| PDFCrowd | html-pdf.com | |
|---|---|---|
| Pricing model | Monthly subscription with a credit allowance | One-time credit packs, no subscription |
| Unused credits | Do not roll over; reset each month | Never expire |
| Billing unit | 1 credit per 0.5 MB of output | 1 credit per PDF page |
| Free start | Trial with 100 test credits valid for one month | 100 credits once your email is confirmed |
| Auth | HTTP Basic (username + API key) | Authorization: Bearer or X-API-Key |
| Request format | Form fields (multipart/form-data) |
JSON, or multipart for HTML plus assets |
| Outputs | PDF, images and more | PDF only |
| Client libraries | Official SDKs for many languages, CLI, WordPress plugin | Plain HTTP (any language), no SDK needed |
| MCP for AI agents | Local MCP server (Node.js 18+) | Remote MCP server at https://html-pdf.com/mcp, nothing to install |
Prices checked October 2026 on PDFCrowd's pricing page. Credits are counted as 1 per 0.5 MB of output, plan credits refresh at the start of each billing period, and PDFCrowd's FAQ states that unused credits do not roll over. Plan prices depend on the usage you pick in their selector, so check the page for the current tiers.
How the billing units differ
This section explains what you actually pay for with each service.
PDFCrowd counts output size. A 0.4 MB file costs 1 credit and a 1 MB file costs 2, whatever the page count. Text-only reports with many pages are cheap, while a one-page flyer with large images can cost several credits.
html-pdf.com counts pages. A one-page invoice costs 1 credit, image-heavy or not, and a 30-page report costs 30. You can check X-Pages and X-Credits-Used on every response.
The other difference is time. PDFCrowd credits come with a monthly plan and reset on your billing date. Our packs are bought once ($10 for 1,000 credits, $25 for 3,000, $50 for 7,000, $100 for 15,000, $250 for 50,000) and stay on your account until used. If your volume is seasonal or unpredictable, that matters more than the per-unit price.
When PDFCrowd is the better choice
PDFCrowd wins in these cases.
- You generate long, text-heavy documents. Size-based billing can make a 40-page text report cost a single credit.
- You need image output or other conversions besides HTML to PDF.
- You want an official SDK for your language, a command-line tool, or a WordPress plugin.
- You want a long track record. PDFCrowd has been around for many years, and html-pdf.com is newer.
- Your agent runs locally and must not send source files anywhere. PDFCrowd's local MCP server only uploads the rendered document.
When html-pdf.com is the better choice
html-pdf.com wins in these cases.
- Your volume is uneven. Credits never expire, so a quiet month doesn't waste a quota.
- Your PDFs have images or brand assets. A one-page certificate with a large background costs 1 credit.
- AI agents generate your PDFs. Point Claude, ChatGPT, Cursor or Codex at
https://html-pdf.com/mcpwith a key. No Node install is needed, and OAuth clients just ask you to log in. - You want JSON in, PDF out. Send one
POSTwith a JSON body, and the PDF bytes come back. - You want failure costs at zero. Failed renders and
max_pagesoverruns are free.
Migrating from PDFCrowd
Here is the same invoice request in both APIs, so you can see what changes.
Before (PDFCrowd HTTP API):
curl -f -u "$PDFCROWD_USER:$PDFCROWD_KEY" -o invoice.pdf \
-F 'text=<h1>Invoice #42</h1>' \
-F page_size=A4 -F orientation=portrait \
-F margin_top=15mm -F margin_right=15mm -F margin_bottom=15mm -F margin_left=15mm \
-F 'footer_html=<p style="text-align:center">Page <span class="pdfcrowd-page-number"></span> of <span class="pdfcrowd-page-count"></span></p>' \
https://api.pdfcrowd.com/convert/24.04/
After (html-pdf.com):
curl -X POST https://html-pdf.com/v1/pdf \
-H "Authorization: Bearer $HTML_PDF_KEY" \
-H "Content-Type: application/json" \
-d '{"html": "<h1>Invoice #42</h1>", "format": "A4", "landscape": false,
"margin": "15mm",
"footer_html": "<p style=\"font-size:10px;width:100%;text-align:center\">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span></p>"}' \
-o invoice.pdf
Note the footer change. We use Chrome's placeholder classes pageNumber and totalPages (also date and title) instead of pdfcrowd-page-number and pdfcrowd-page-count. Header and footer templates render in their own context, so give them an explicit font-size and inline styles. More in headers, footers and page numbers.
Parameter mapping
| PDFCrowd | html-pdf.com |
|---|---|
text (HTML string) |
html |
url |
url (public pages) |
file (HTML or zip upload) |
Multipart: index.html + asset files + options JSON |
page_size |
format (A3 to A6, Letter, Legal, Tabloid) |
page_width / page_height |
width / height |
orientation=landscape |
"landscape": true |
margin_top, margin_right, ... |
margin as "15mm" or {top, right, bottom, left} |
no_margins=true |
"margin": "0" |
header_html / footer_html |
header_html / footer_html |
use_print_media=true |
"media": "print" |
custom_css |
css (HTML input only) |
print_page_range |
page_ranges |
| HTTP Basic auth | Authorization: Bearer or X-API-Key |
If you uploaded zip files with images and stylesheets, send the same files as multipart fields next to index.html. Relative paths keep working.
Check page breaks on a couple of real documents after switching, since engine versions differ. Our page breaks guide covers the CSS.
Try it free
You can get a key with one request.
curl -X POST https://html-pdf.com/v1/signup -H "Content-Type: application/json" -d '{"email": "you@example.com"}'
You get an API key right away, and 100 free credits once you open the link we email you to confirm your address. Or sign in at https://html-pdf.com/login.
See also: PDFShift alternative · DocRaptor alternative · API docs.
FAQ
What is a good alternative to PDFCrowd?
html-pdf.com is an HTML to PDF API built on headless Chromium. You send HTML or a URL as JSON and get a PDF back, paying 1 credit per page with credits that never expire.
Do PDFCrowd credits roll over?
No. PDFCrowd plan credits refresh each billing period and unused credits do not roll over. html-pdf.com credits are bought once and never expire.
Is html-pdf.com cheaper than PDFCrowd?
It depends on your documents. PDFCrowd bills by output size, so long text-only files can be cheap there, while html-pdf.com bills per page ($0.01 to $0.005 per page), which suits short or image-heavy PDFs.
Can I try html-pdf.com for free?
Yes. You get 100 free credits once you confirm your email, with no card required, and failed renders cost nothing.
