ImagePDF.Tools

Convert HTML into a Clean, Printable PDF

Processing securely on your device, no data sent to any server
IMG

or drop files here

Hand it a saved page, an exported report or a snippet of markup and get paginated text with working links. No script on the page is executed and no byte is posted anywhere, so internal pages are fine to convert.

How it works

Markup in, paged document out.

Add the HTML

Drop a .html, .htm or .xhtml file, or switch to the paste box. A full document and a bare fragment without html or body tags are both fine.

Pick a print layout

Choose paper, orientation, margins and text size, serif or sans text, page numbers, and compact tables for anything wide.

Paginate and save

The markup is parsed, rebuilt as a document and broken into pages. When the result card appears, save the PDF wherever you like.

Use cases

When the words matter more than the styling.

HTML is everywhere, from email receipts to exported reports. These are the jobs where a clean, readable PDF of its content beats a screenshot of the page.

Filing HTML receipts

Many billing systems send receipts as HTML email. Converting the saved message keeps the line items and totals as a fixed record for your accounts folder.

Docs for offline reading

A reference page saved from a documentation site becomes numbered pages you can annotate on a tablet or read on a flight with no connection.

One article from a CMS export

Paste just the article element and you get the headings, body and tables without the sidebar, cookie banner or menu that wrap it on the live site.

Proofing newsletter copy

Circulate the words and links of an email template as a PDF for sign-off. Reviewers check the wording here, while the visual design is judged in the mail client.

Tables produced by scripts

Test summaries, database dumps and static site output often arrive as plain HTML tables. They become ruled tables that span pages with the heading row repeated.

Reading a suspicious attachment

Since no script is executed, an HTML attachment from an unknown sender can be turned into a static PDF so you can read it without opening it in a browser. Check link addresses before clicking any.

A re-layout, not a screenshot.

Pandoc reads the markup and keeps only its meaning: heading levels, paragraphs, bold and italic, ordered and bulleted lists, block quotes, preformatted code, tables, links and any images embedded in the file. Everything that only controls appearance, from stylesheets and web fonts to flexbox columns and background colours, is set aside.

Typst then typesets that skeleton from scratch, using your paper size, margins and text size. Paragraphs are justified, tables get thin rules, and nothing is clipped at the edge of the page the way a wide website can be when printed.

One thing to trim first: navigation menus and footers inside the file are content too, so they print as lists and paragraphs. Paste only the part you care about when the page is cluttered.

 Browser PrintThis converter
Keeps the site’s visual designYesNo, clean document style
Runs the page’s scriptsYesNever
Works from a file or pasted markupOnly once opened as a pageYes
Text reflows to your paper and marginsPartly, via scaleFully
Long tables repeat their header rowDepends on the siteYes, when th or thead is used
Pictures linked from the webIncludedNot fetched
Common questions

Questions answered.

Will the PDF look like the web page in my browser?
No, and that is by design. The converter keeps what the page says and how it is organised, then sets it in a plain print layout of its own, so site colours, fonts, columns and backgrounds are left behind. If you need a pixel-faithful copy of the design, open the page in your browser and use Print, then Save as PDF.
Why are the pictures missing?
Pictures are only included when they are embedded inside the HTML itself as data addresses. A browser's "Save page as" stores images in a separate folder, and the tool reads only the single file you give it; images on the web are never fetched. Use an exporter that inlines images into one file, or add the pictures afterwards with Image to PDF and Merge PDF.
Does it run the JavaScript in my file?
Never. Script tags are ignored completely, which is what makes it safe to convert a page you do not fully trust. The flip side is that anything a script would have built after loading is absent; for such pages, open them in a browser, copy the rendered markup from the developer tools (right-click the html element, Copy outer HTML) and paste that into the text box.
Are links still clickable?
Yes. Every anchor with a full address, such as https://example.com/terms, becomes a working link in the PDF. Relative links like /pricing have no website to point at once they are inside a standalone PDF, so swap them for full addresses first if readers need to follow them.
How are HTML tables handled?
They become ruled tables with the top row in bold, and long ones carry on across pages. When the table marks its header with th cells or a thead section, that header is printed again at the top of each continuation page. Leave "Compact tables" on for wide tables so more columns fit across.
Do I need a complete document with html and body tags?
No. A fragment such as a single table, an article element or a few paragraphs converts just as well. That makes the paste box handy for converting one section of a larger page without the menus around it.
Why do accented letters come out garbled?
The file is read as UTF-8. Older pages saved in a Western European or other legacy encoding will show odd characters in place of letters like é or ü. Open the file in a text editor, save it with UTF-8 encoding and convert again; markup pasted into the text box is always handled correctly.
Is the HTML uploaded to convert it?
No. Pandoc parses the markup and Typst paginates it, both as WebAssembly in a worker thread inside this tab. Apart from fetching the converter and Typst’s standard fonts from a public CDN, the page makes no requests, and none of them carry your HTML.