Paste HTML or drop an .html file. The browser's own parser reads it into a tree, and the renderer flows the supported elements onto letter-size pages in reading order: headings, paragraphs, lists, emphasis, code, quotes, rules and link text. No CSS layout and no JavaScript. Tables render as real grids, images embedded as data URLs are drawn, and images referenced by URL are noted rather than fetched.
For a pixel-accurate copy of a live web page, use the browser's Print to PDF. For a clean document from raw HTML, an email body, a note-app export or a scraped article, use this.
The HTML you want as a PDF is rarely a polished web page. It is the body of an important email, an export from Notion or Bear, a snippet of documentation, a blog post's source. What those have in common is structure worth keeping and styling worth discarding. The tool above keeps the structure, ignores the styling, and never sends the content anywhere.
How to convert HTML to PDF
Paste or drop
Paste HTML into the editor, or drop an .html file onto the box. A whole page is fine; the head is ignored and only the body renders.
Review the source
The editor keeps everything visible so you can trim navigation, footers and scripts before rendering, which gives a cleaner document.
Press Convert to PDF
The browser parses the HTML, the renderer walks the tree and lays supported elements onto pages with pdf-lib, and the file downloads.
A flow layout for the tags documents actually use. Not a browser engine.
Standard pages with generous margins, ready to print or attach.
The HTML is parsed and the PDF drawn in your browser.
What renders, and what does not
The structural core of HTML
- Headings h1 to h6, sized progressively
- Paragraphs and line breaks
- Bulleted and numbered lists with hanging indents
- Bold, italic, strong and em
- Code blocks and inline code in Courier, blocks shaded
- Blockquotes with a left rule, horizontal rules
- Link text, in blue
Anything that needs a browser engine or the network
- CSS layout: flexbox, grid, floats, positioning, colours
- JavaScript of any kind
- Tables (cell text may appear as paragraphs)
- Images referenced by URL, and embedded fonts
- Forms, iframes, video and embeds
- Clickable link annotations (the text is kept, the link is not live)
- Characters outside Latin-1: Cyrillic, Greek, Arabic, CJK and emoji are dropped
The trade is deliberate. A full browser engine would need the network, would execute scripts, and would produce a screenshot of a design rather than a document. The structural renderer stays offline, stays fast, and produces the same clean PDF from a beautifully styled page and an ugly one.
This tool or the browser's Print to PDF
Every browser can print a live page to PDF: open the page, press Ctrl+P or Cmd+P, choose Save as PDF. It is the right answer more often than people expect, and the wrong answer for a specific set of cases.
- A live web page you want to look as it does on screenPrint to PDF
- The HTML body of an emailThis tool
- An export from Notion, Bear, Evernote or NotesThis tool
- Raw HTML source or a snippet from a pageThis tool
- An article you want as a clean, readable documentThis tool
- A page whose images and layout are the pointPrint to PDF
Getting a cleaner document
- Paste only the body you care about. Navigation bars, footers and script tags render as nothing or as noise. Trim them in the editor first.
- Use real heading tags. A bold paragraph is a paragraph. An h2 is a heading, and it will be sized and spaced like one.
- Tables keep their rows and columns. If a table matters, rebuild it after, or convert that data with Excel to PDF and merge.
- Keep code lines short. Long lines in a code block wrap in Courier, which is readable but busy.
- Images embedded as data URLs are drawn; images referenced by URL are listed in the result, not fetched. Nothing is fetched, so an img tag leaves no gap and no placeholder.
Where it earns its place
- Email archives. The HTML body of a contract confirmation or a decision becomes a dated PDF for the record.
- Note-app exports. Notion, Bear and Notes-style HTML flows into a printable document without the app's chrome.
- Documentation snippets. A section of a docs page becomes a cheat sheet to hand out.
- Static blog exports. A post's source becomes a PDF for readers who prefer files.
Why it renders in your browser
Email bodies and note exports contain the things people would least like indexed by a stranger's server: decisions, addresses, health notes, drafts. Uploading them to a rendering service to get a PDF is a poor trade for a formatting job any browser can do locally.
The tool is right above
Everything on this page runs in your browser. Scroll up, drop the file, and keep it on your machine.
Common questions
What people ask with HTML in the editor.
01Which HTML tags are supported?
Headings h1 to h6, paragraphs, line breaks, ordered and unordered lists, blockquote, hr, pre and code, strong, b, em, i, and links as blue text. Structural HTML renders cleanly.
02What about CSS and JavaScript?
Neither is applied or executed. The output is a clean document built from the structure. For a pixel-accurate copy of a styled page, use the browser's Print to PDF.
03Does it fetch images from URLs?
No. The converter runs offline and never makes a request. Images embedded as data URLs are drawn at up to the page width. Images referenced by URL are not fetched, because nothing here makes a network request; the result line names them.
04Can I paste a whole HTML page?
Yes. The head is ignored and only the body renders. Trim navigation and footers in the editor for a cleaner result.
05Does it handle non-English text?
Western European languages, yes: the base fonts include accented Latin characters. Latin, Greek and Cyrillic text is set in an embedded Noto Sans. Characters the font lacks, such as CJK, Arabic and emoji, are shown as a replacement mark rather than silently dropped, and the result line counts them. For those scripts, use the browser's Print to PDF.
06Are the links clickable in the PDF?
The link text is rendered in blue, but live link annotations are not written in this version.
07When should I use Print to PDF instead?
When you want the page to look exactly as it does on screen, with its styling and images. Use this tool when you want the content as a clean document.
08Are my files uploaded anywhere?
No. Parsing and rendering happen in your browser.
09Is it free?
Free. Every tool, unlimited use, no signup.