Get started

Convert any web page to PDF

Render any web page or HTML string as a PDF. Preserves CSS, web fonts, and images. Ideal for archiving articles, receipts, and reports.

HTML to PDF captures a web page or raw HTML as a PDF document — the same way a print preview would, but with full control over page size, orientation, margins, and background graphics. PDFOnly uses a headless Chromium browser so JavaScript-rendered pages render fully before capture (single-page apps, dynamic charts, lazy-loaded images all work). Use it to archive web articles, save invoices and receipts from web apps, capture analytics dashboards for reports, or convert HTML email templates into print-ready PDFs.

How to html to pdf step by step

  1. 1

    Paste a URL or upload an HTML file

    Public URLs work directly — paste and we'll fetch and render. For paywalled, logged-in, or local pages: save the page as a complete HTML file from your browser (File → Save As → Webpage Complete), then upload it here.

  2. 2

    Pick page size and orientation

    A4 portrait is the default. Switch to landscape for dashboards or wide tables. Letter for US-bound documents. A3 for posters or large diagrams.

  3. 3

    Click Convert and download

    We launch a headless Chromium, navigate to your URL (or load your HTML), wait for network activity to settle so JavaScript-rendered content fully loads, then call the browser's PDF generator. Output is ready in 2-10 seconds depending on page complexity.

Why html to pdf on PDFOnly

Real Chromium, not a stripped-down renderer

Most online HTML-to-PDF tools use lightweight rendering engines that fail on modern web pages. We use the actual headless Chromium that Chrome uses — pages render the way they look in your browser.

JavaScript and SPA support

We wait for network activity to settle before capturing, so React/Vue/Angular apps that load data after the initial HTML render fully. Most converters capture too early and miss dynamic content.

Background graphics by default

Browsers' built-in 'Print to PDF' usually drops backgrounds for ink-saving. We include them by default so your output looks like the screen, not a stripped print version.

What people use html to pdf for

A few common scenarios. If your workflow looks like one of these, this tool is a good fit.

Archive web articles for offline reading

Save a long-read article as a PDF you can read on a Kindle or e-reader. The PDF version stays accessible even if the original URL goes 404.

Generate invoices and receipts from web apps

Many SaaS billing dashboards show invoice details on a page but don't offer a PDF download. Drop the URL here and get a clean PDF for your records.

Capture analytics dashboards for reports

Snapshot a Google Analytics or Mixpanel page on a specific date. Useful for audit trails, monthly client reports, or version-stamping insights.

Convert HTML email templates to PDF for proofing

Marketers reviewing a newsletter design want to see how it'll look when printed. PDF rendering shows exactly what readers using a print-friendly client will see.

Save online receipts from purchases

Many e-commerce sites show 'order confirmation' as a web page only. Save it as a PDF for your tax records or expense report.

What you get

  • Headless Chromium captures the full rendered page — JavaScript, web fonts, images all preserved
  • Two input modes: live URL or upload your own HTML file
  • Page size: A4, Letter, Legal, A3, A5 (and more)
  • Orientation: portrait or landscape, with custom margins
  • Background graphics included by default (most browser print modes drop them)
  • Free, no signup required

Frequently asked questions

Does it support JavaScript-rendered pages?

Yes. We use a headless Chromium browser that fully executes JavaScript, then waits for network activity to settle (default 2 seconds idle) before capture. Single-page apps, dynamic charts, lazy-loaded images, and async data fetches all render correctly.

Can I capture a paywalled or logged-in page?

Not directly from a URL — we don't have your session cookies or login. Workaround: save the page locally first via your browser (File → Save As → Webpage, complete), then upload that HTML file. The saved HTML includes the rendered content.

Will web fonts come through correctly?

Yes — Chromium fetches and renders web fonts as the page loads. The PDF embeds the rendered text with the correct visual appearance. Selectable text uses Chromium's text-extraction, which captures the underlying glyph mapping.

How long can a page be?

Anything Chromium can render — typically up to ~50,000 px tall. Very long pages (massive scrolling pages) may exceed Chromium's internal canvas limits and clip; for those, capture in segments by linking to specific anchor points.

Are images included?

Yes. All `<img>` and CSS background-image content is fetched and embedded. Lazy-loaded images that depend on intersection observers are forced to load by scrolling the page during render.

Will the result be selectable / searchable?

Yes. Chromium captures text as real text in the PDF (not as images), so it's fully searchable and selectable. The structure is similar to using your browser's built-in 'Save as PDF' — just with better defaults.

Can I include or exclude specific elements?

Not via the web UI yet — we render the page as-is. If you have control over the HTML, use CSS print media queries (`@media print`) to hide elements you don't want in the PDF: `nav, .ads, footer { display: none; }`.

Ready to html to pdf?

Free to use for the basics. Files are auto-deleted within an hour and never used to train AI.

Open HTML to PDF