How URL → PDF works
When you submit a URL, a2pdf launches a headless Chromium instance on the server, navigates to the page, waits for it to settle, and prints it to PDF. The result is essentially the same as Chrome's File → Print → Save as PDF, but without needing the browser open.
Preserve vs normalize
Preserve mode (the default for URL conversion) renders the page as-is. Logos, fonts, layout — everything stays. Normalize mode extracts the text and re-renders it with one of the a2pdf themes, which is useful when the source page is visually noisy and you just want the content.
What works
- Static pages — blog posts, documentation, news articles, marketing pages.
- JavaScript-rendered pages (SPAs) — Chromium runs the JS before printing.
- Pages with custom fonts, gradients, transforms, and modern CSS.
What doesn't
- Pages behind a login or paywall — Chromium hits them logged-out.
- Pages that require user interaction (forms, scroll-triggered content) — we wait 1.5 seconds for the page to settle and then print whatever's visible.
- Pages that aggressively detect headless browsers — some will refuse to load.
- Anything that requires a captcha.
From the command line
curl -X POST https://a2pdf.com/convert \ -F "url=https://example.com" \ -F "paper_size=a4" \ -F "preserve=1" \ -o webpage.pdf
From an AI agent
If you're in Claude Code or Cursor, just ask:
"Save this URL as a PDF: https://example.com/article — use the academic theme."
Provided the a2pdf MCP server is configured, the agent will call convert_to_pdf with the URL and return a download link.