Skip to content

Convert To PDF

HTML to PDF

Convert structured HTML into a paginated PDF document, with the limits stated plainly.

Processed locally in your browser. Your file is not uploaded to any server. How this works

  1. 01Add your file
  2. 02HTML to PDF
  3. 03Download

Runs in your browser · nothing uploaded

About HTML to PDF

Be clear about what this is, because the category is full of tools that quietly are not what they claim. This is not a headless browser. There is no Chromium rendering your page server-side, and no screenshot pipeline. What happens is that the HTML is parsed into a document tree and that tree is typeset onto PDF pages: headings, paragraphs, nested lists, tables, block quotes, preformatted blocks, and inline bold, italic and link text. Basic presentational styling is honoured where it maps cleanly onto text layout — font weight and style, sizes, alignment and table borders. Everything else is not. Flexbox and grid positioning, floats, absolute placement, background images, transforms, media queries, web fonts, JavaScript-generated content and any resource loaded from a URL fall outside it, the last deliberately, because fetching them would mean network requests this tool does not make. For a pixel-faithful capture of a styled page, use your browser’s own Print to PDF; for a clean document out of structured HTML, use this.

How to HTML to PDF

  1. 01

    Add your HTML file

    Drop a single .html or .htm file in. It is parsed locally; no linked stylesheet, script or image is fetched.

  2. 02

    Set the page and type

    Choose paper size, base font size and margin. Heading sizes scale from the base size.

  3. 03

    Convert and check

    Press Convert to PDF, then review the output — structured content converts predictably, heavily styled layouts will not match a browser view.

What this tool does

  • Parses real HTML structure: headings, nested lists, tables, quotes and preformatted blocks
  • Basic inline styling honoured — bold, italic, sizes and alignment
  • Tables laid out as ruled tables with measured column widths
  • Real embedded text, so the output is selectable and searchable
  • No network requests at all: nothing about your document or its links leaves the tab

Limitations worth knowing

Every PDF tool has constraints. Stating them plainly is more useful than discovering them halfway through your work.

  • This is not a browser rendering engine. Complex CSS layout — flexbox, grid, floats, absolute positioning, transforms and media queries — is not applied, so the PDF will not match a browser screenshot of the same page.
  • JavaScript is never executed, so any content a script would have generated is simply absent from the output.
  • External resources — stylesheets, images, web fonts and iframes referenced by URL — are not fetched, because that would require network requests this tool does not make.
  • Only the PDF standard fonts are used, so specified typefaces are substituted and non-Latin glyph coverage is limited.

How your file is handled

This tool runs entirely inside this browser tab. When you choose a file, your browser reads it from your own disk and hands the bytes to JavaScript running on this page — no network request carries your document anywhere. You can confirm that yourself: open your browser’s developer tools, switch to the Network panel, and run the tool. You will see no upload.

Nothing is stored after the fact. Closing or reloading this tab discards the file, the result and everything derived from them, because none of it ever left your machine. Read how local processing works.

Questions about HTML to PDF

Will the PDF look exactly like the page in my browser?

No, and it is worth being blunt about that. There is no browser engine involved — the HTML is parsed and typeset as a document. Structured content converts faithfully; a heavily styled layout will not look like a screenshot. For that, use your browser’s Print to PDF.

Why aren’t my CSS file and images applied?

Because fetching them would mean sending requests to external URLs, and this tool makes no network requests at all. Only what is inside the HTML file you provide is used, and only styling that maps onto text layout is honoured.

Does it run the JavaScript on the page?

Never. Scripts are not executed, so a page that builds its content dynamically will convert to whatever static markup the file actually contains — often very little.

What is this genuinely good for then?

HTML that is structured as a document: exported reports, email bodies, documentation, generated invoices, anything where the markup carries the meaning and the styling is incidental. Those convert cleanly and predictably.

Read more about this

Background