HTML to PDF
Save an HTML page as a PDF.
Save your favourite tools
Create a free iBuildPDF account to keep your favourite tools and find them quickly anytime.
Free account. The PDF tools themselves never need one.
Select an HTML file
or drag and drop here
Accepted formats: HTML, HTM, ZIP
Processing…
Quick facts
- What it does
- Renders an HTML file as a paginated PDF, applying the page's own CSS including any print stylesheet.
- Input
- HTML, HTM or ZIP
- Output
- Processing
- On our server
- Files uploaded?
- Yes, temporarily
- Account required?
- No
- Best for
- Turning a generated report, an invoice template or an exported article into a fixed document.
- Main limitation
- It renders the file you upload, not a live website. Anything the page fetches from the internet — a remote stylesheet, a web font, an image on a CDN — is not available, so send a .zip with those files included.
How to use this tool
- Choose an .html file, or a .zip containing the page with its stylesheets and images.
- Press Apply to send it for rendering over an encrypted connection.
- Wait while the page is laid out and broken into pages.
- Download the PDF.
Why use iBuildPDF
A web page has no pages. Turning one into a PDF means deciding where every break falls, and the honest way to do that is to respect what the page itself asks for: its print stylesheet, its page-break rules, its margins. That is what happens here. A page written with printing in mind converts beautifully; one that was never meant to leave a screen breaks in awkward places, and the fix is in the CSS rather than in this tool.
How it works
The HTML is parsed, its CSS applied — including any @media print rules — and the result flowed into pages. Text stays as text, so the PDF is searchable and selectable rather than a screenshot.
Frequently asked questions
Can I give it a URL instead of a file?
No. This converts a file you upload. Save the page first — in a browser, Save As with the complete-page option gives you the HTML plus its assets, which you can then zip and convert.
My PDF came out unstyled.
The stylesheet was not in the upload. A bare .html file references its CSS by path, and those files are not there unless you include them. Zip the page together with its CSS, images and fonts, and upload the .zip.
Will JavaScript run?
Do not rely on it. Content that a script writes after the page loads may not appear. If the document is generated by script, save the finished page from the browser and convert that instead of the source.
How do I control page size and margins?
With CSS. An @page rule in the stylesheet sets the size and margins, and page-break-before or break-inside let you decide where breaks fall. The renderer follows those rules.
Can I add page numbers, a header or a footer?
Yes, through CSS. The @page rule supports margin boxes, so a footer with a page number is @bottom-center with content: counter(page). That is a stylesheet change rather than a setting on this page, which means it also works the same way anywhere else that renders your HTML.
Read more about this
Continue with your PDF
Your file is ready. These are the things people usually do next.