Ship a PDF's contents as a webpage without losing the layout. Drop the file above and get a single HTML file with every page rendered as positioned HTML. No asset folder, no plugin, no server.
One file, no asset folder
The output is one .html file. Every image is embedded as a data: URL and the styling is inline, so there is no asset folder to keep alongside it — you can email it, attach it to a ticket, host it on any static site, or drop it in S3. The single external reference is a Google Fonts stylesheet link for standard families; offline, the page still renders with fallback type.
Layout-preserving, text still selectable
Elements are absolutely positioned inside one <div> per page, so positions and colors match the source PDF. Text runs come out as real text nodes, which keeps them selectable and copyable. For production accessibility or SEO, test the exported HTML in your own stack before publishing it.
Edit during conversion
As soon as the PDF parses, it loads into the live Polotno editor. Edit text, change colors, move blocks, drop in new images, then click Download HTML in the bar above the editor. Useful when a PDF is 90% of what you want as a webpage and needs one section reworked.
Turning a PDF into a web page
This is the most common reason people convert, and it comes with one caveat worth understanding before you start. What you get is a faithful web page, not a responsive website. Each PDF page becomes a fixed-size <div> whose elements are absolutely positioned, so it looks exactly like the original at any zoom level, on any browser. What it will not do is reflow: a two-column A4 layout stays a two-column A4 layout on a phone, because that is what the source document says it is.
For a great many jobs that is precisely right — publishing a report, putting a menu or a price list online, archiving a newsletter, attaching a rendered document to a ticket, or embedding a brochure in a page you already have. For those, fixed layout is a feature: nothing shifts, nothing breaks, and the result is one file you can host anywhere.
If instead you need a genuine responsive site built from the content of a PDF, no converter will give you that, here or anywhere. Reflowing a print layout into a fluid one is a design decision about what happens at every width, and that is authoring work rather than conversion. Use this to get the content and the exact layout out of the PDF, then rebuild the parts that need to be responsive.
How to convert PDF to HTML
Drop the file on the converter above. It parses in your browser via pdf.js, opens as an editable design, and downloads as one .html file when you click Download HTML. No account, no upload, no queue. Multi-page documents come out as one file with a <div> per page.
What to look for in a PDF to HTML converter
Most converters fail in one of three ways, and it is worth checking for each before you commit a document to one. They flatten the page to a bitmap, which kills selectable text and makes the file enormous. They split the output into an HTML file plus a folder of assets, which breaks the moment you email it. Or they upload your document to a server you do not control, which is a problem when the PDF is an invoice or a contract. This converter keeps text as <text> inside real HTML text nodes, emits a single file, and never transmits the input.
The same conversion in code
import { pdfToJson } from "@polotno/pdf-import";
import { jsonToHTML } from "@polotno/html-export";
const buffer = await file.arrayBuffer();
const json = await pdfToJson({ pdf: buffer });
// Returns the rendered HTML as a string — write it, serve it,
// or hand it straight to a response. Browser-first: under Node it
// needs jsdom, see /docs/html-export.
const html = await jsonToHTML(json);Full API reference: PDF Import and the Import & Export overview (HTML export section).
