From markup to paper, without a print dialog
Paste HTML — an invoice template, a report, an email you saved — or upload an .html file, pick a page size, and download a paginated PDF. The document is rendered by your own browser inside a sandboxed, script-free frame, so the preview above is a faithful what-you-see-is-what-you-get of the output, and nothing you paste is ever uploaded.
One honest trade-off up front: the output is an image-based PDF. Rendering arbitrary CSS faithfully in the browser means capturing pixels, so text in the result is not selectable or searchable. For text-native output from simpler sources, reach for Text to PDF or Markdown to PDF — both produce real, selectable PDF text.
The result plays nicely with the rest of the PDF shelf: stamp it with the PDF watermark, combine it with other documents via Merge PDF, shrink it with the PDF compressor, or black out parts of it for sharing with the PDF redactor.
Frequently asked questions
Is the text in the PDF selectable?
No — and we would rather tell you up front. This converter renders your HTML exactly as a browser draws it, then stores each page as a high-resolution image. Layout, fonts, and colors are faithful, but the text is not selectable or searchable. If you need real, selectable text and your content is simple, use our Text to PDF or Markdown to PDF tools instead — they produce native PDF text.
Does my HTML get uploaded to a server?
No. The HTML is rendered in a sandboxed frame inside your own browser, screenshotted with html2canvas, and assembled into a PDF with jsPDF — all on your device. Nothing is sent anywhere.
Why are my images missing from the PDF?
Images hosted on other domains can only be captured if their server allows cross-origin use (CORS). Browsers refuse to let a page read pixels from images that do not, so those images render blank in the capture. Self-hosted or data-URI images always work.
Will my CSS look exactly like it does in the browser?
Mostly, with caveats: html2canvas re-implements rendering, so the large majority of CSS works, but a few modern features (some filters, blend modes, exotic layout) can differ. The live preview above is the exact document being captured — what you see there is what lands in the PDF.
Can I run JavaScript in my HTML before converting?
No — scripts are stripped and the preview frame is sandboxed without script execution, deliberately. Paste or upload the final rendered markup you want on paper. If your page needs JS to build its DOM, save the rendered HTML from your browser DevTools first (right-click the root element → Copy outerHTML).
How is multi-page splitting decided?
The rendered document is cut into page-height slices based on your page size, orientation, and margins — A4, Letter, or Legal. A final short slice becomes a short last page rather than being stretched. There are no manual page-break controls in this version.