Archiving a web page
Save the page as .html, drag it in, and get a PDF copy that no longer depends on the original site.
Guide
HTML to PDF lays out a block of HTML source, or a saved .html file, as a PDF. The source goes through DOMPurify first — scripts, external stylesheets and event attributes are removed, while inline blocks, images and tables stay — and is then rendered inside a sandboxed iframe; the whole page is captured as a bitmap and cut into sheets. The “Rendered preview” on the right is exactly what will be captured, with its width already worked out from the paper and the zoom.
Updated 2026-09-094 min read
HTML to PDF lays out a block of HTML source, or a saved .html file, as a PDF. The source goes through DOMPurify first — scripts, external stylesheets and event attributes are removed, while inline <style> blocks, images and tables stay — and is then rendered inside a sandboxed iframe; the whole page is captured as a bitmap and cut into sheets. The “Rendered preview” on the right is exactly what will be captured, with its width already worked out from the paper and the zoom.
It cannot fetch a page by URL: the browser's cross-origin rules do not allow a page to read another site directly. The route is to use “Save as” on the target page, or to copy the source and paste it here. When the content is Markdown to begin with, “Markdown to PDF” has better default styling.
<file-name>.pdf (web-page.pdf when no file was uploaded).| Input | Output | Notes |
|---|---|---|
Email template source with a <style> block |
Inline styles apply, scripts are removed | A linked <link> stylesheet is not loaded |
article.html with 3 remote images, 1 of which the server blocks cross-origin |
2 render, 1 stays blank | Images are waited for for up to 8 seconds |
| Zoom set to 75% | The render width grows to about 1.33×, so more fits on a page and the type is smaller | Equivalent to the browser's print zoom |
<script>, inline event attributes such as onclick, <iframe> and linked stylesheets are removed; content that depends on scripts (a charting library, say) comes out blank in the PDF.data: images are reliable; a remote image needs its server to allow cross-origin reads (CORS), otherwise the space is left blank, and the wait is capped at 8 seconds.@page rules; for a PDF with selectable text, use the browser's own “Print → Save as PDF”.Save the page as .html, drag it in, and get a PDF copy that no longer depends on the original site.
Paste the HTML source of an email and export a PDF to send a colleague for a layout review.
A program's HTML report (inline styles plus tables) goes straight out as a PDF attachment.
No. A web page's scripts are not allowed to read another site's content across origins. Use Ctrl+S on the target page to save it as “Web page, HTML only”, or copy the source, then upload or paste it here.
Linked stylesheets and scripts are removed during sanitising, so only inline <style> blocks and style attributes in the source still apply. You can copy the key CSS out of the original page's developer tools into inline styles and convert again.
A remote image needs its server to allow cross-origin reads, otherwise the space is left blank at capture time. Convert the image to base64 with “Image ↔ Base64” first and put it into <img src>.
The HTML source is sanitised, rendered and turned into a PDF in the browser, and is never uploaded to any server. Remote images referenced from the source are requested by the browser directly from the server that hosts them; if you want no external requests at all, switch the images to inline data: URLs.
Updated 2026-09-09
Paste HTML or upload an .html file; it is sanitized, rendered in isolation and paginated into a PDF
Paste the source or upload a .html file; scripts and other dangerous content are removed automatically
Rendered in an isolated sandbox and identical to the final PDF (the width is scaled to the paper)