Email a styled invoice
Your billing app emits HTML invoices. Paste the HTML here, convert to PDF, email the PDF to the client — they don't need to render your HTML in their inbox.
No uploads. No accounts. No watermark on the output. Filoraio renders pasted HTML (or a CORS-enabled URL) into a real PDF — A4 or Letter, auto page-break for long content — all locally on your device.
For best results, paste a complete <html> document with inline <style> rules. External CSS files won’t load.
Page size
Filoraio runs the merge directly inside your browser using a small WebAssembly engine. Nothing is uploaded, nothing is queued, and you can verify it yourself — open your browser’s DevTools, switch to the Network tab, and watch it stay quiet.
They’re read into your browser’s memory through a standard file picker.
The merge runs locally — no request leaves your device while it processes.
The combined PDF lands in your downloads folder, the same way any other download would.
No upload bar, no progress spinner waiting on a server. Works offline once the page is loaded.
Conversion runs in your browser using browser canvas capture to capture the rendered HTML, and the underlying PDF engine to assemble it into a real PDF.
Drop a full HTML document or a snippet with inline <style> rules. URL mode is also available, but most public sites block cross-origin fetches — keep that workflow for CORS-enabled APIs.
Choose A4 or US Letter, adjust margins, and set zoom level if the content is too wide or too small. The default settings work for typical document content.
Click Convert. The HTML renders in an offscreen iframe, browser canvas capture captures it, and the underlying PDF engine slices the canvas into page-sized PDF chunks. Download when ready.
Anywhere you have HTML you need as a PDF — a generated invoice, a receipt page, a custom report, a blog post for offline reading — and a print-to-PDF workflow isn't enough.
Generate PDFs from templated HTML in your dev workflow without spinning up a Puppeteer server. Paste the rendered HTML, get a PDF, ship it.
Convert HTML invoices or receipts (the ones your invoicing tool emits) into PDFs for client delivery and bookkeeping records.
Save an article's HTML as a PDF for offline reading and annotation — sometimes cleaner than the browser's print-to-PDF when ads or fixed headers interfere.
Export styled HTML mockups as PDFs for client presentation or sign-off, with the exact rendering your CSS produces.
Take a one-off styled HTML page (a wedding invite, an event programme, a CV in HTML) and convert to PDF without learning Word or InDesign.
Four common reasons people search for an HTML-to-PDF tool — and the exact workflow each one collapses into.
Your billing app emits HTML invoices. Paste the HTML here, convert to PDF, email the PDF to the client — they don't need to render your HTML in their inbox.
Right-click the post in your browser, View Source, copy the HTML, paste it here. Auto page-break handles the long content; you get a clean PDF for your reading queue.
Your reporting script produces HTML. Pipe the output through this tool instead of running a headless browser on your server — same result, zero infrastructure.
Write your CV as a single HTML file with inline CSS for precise typography. Convert to PDF for application portals that require PDF — without going through Word.
Four small habits that turn a quick conversion into a polished output — especially with the constraint that external resources don't load.
External stylesheets (<link rel='stylesheet'>) won't load from the offscreen iframe. Put your CSS in a <style> tag inside the HTML, or inline it on each element. Same for fonts — link to web-safe fonts or inline @font-face from a data URI.
Local image paths (img src='./photo.png') won't resolve. Convert images to data URIs (data:image/png;base64,…) and inline them in the src attribute. Or use absolute URLs to images on public CDNs.
Before pasting a massive document, paste a one-line test to confirm the layout looks right. Quicker than debugging margin / zoom issues on a 50-page conversion.
Browser security blocks cross-origin reads. The URL field works for sites that explicitly allow CORS (mostly APIs, not public pages). For everything else, open the URL in a tab, View Source, copy the HTML, and use paste mode.
Side by side with the average online HTML-to-PDF service — including those backed by a server-side headless browser.
| Feature | Filoraio | Typical online PDF tools |
|---|---|---|
| Where files are processed | On your device | Uploaded / fetched server-side |
| Privacy of pasted content | Never leaves your browser | Sent to their server |
| URL mode works on all public sites | Only CORS-enabled URLs | Yes (server-side fetch) |
| Watermark on output | None | Often added on free tier |
| Account required | No | Often required for full features |
| Daily conversion cap | Unlimited | Often 5–10 per day |
Quick answers to the things people ask most often before using this tool.
Yes. No account, no email, no daily quota, and no watermark on the output. Convert as many HTML documents as you need.
Browsers enforce the same-origin policy: code running on filoraio.com can't read responses from a different origin unless that origin explicitly opts in via CORS headers. Most public websites don't. Workaround: open the URL in a tab, View Source (Cmd/Ctrl+U), copy the HTML, paste into paste mode.
External CSS files (<link rel='stylesheet' href='...'>) and local image paths (img src='./photo.png') won't resolve from the offscreen iframe. Use inline <style> tags for CSS and data URIs (or absolute URLs to public CDNs) for images. Web fonts via Google Fonts links usually work because the requests go to Google's CDN with public CORS.
There's no hard cap on input size, but very large documents (multi-thousand-element pages) take longer to render and convert. Most documents convert in 2–10 seconds; long ones 15–30 seconds.
No — the conversion uses canvas rendering, so output is image-based. Text in the PDF is pixels, not selectable PDF text. This is the standard tradeoff for browser-side HTML-to-PDF; servers-side headless-browser conversion can produce real text PDFs but requires upload.
Page breaks happen automatically when content exceeds page height. You can influence them by sizing your HTML's outer container deliberately — content fitting exactly within a 'page-height' worth of pixels will paginate naturally. Direct CSS page-break-after rules aren't honoured by browser canvas capture.
Very close. browser canvas capture is a modern fork that handles oklch(), CSS Grid, Flexbox, custom fonts, and most modern CSS. Pixel-perfect fidelity isn't guaranteed for every browser feature (very new CSS like container queries may render differently) — test a small snippet first.
Yes. Open this page in Safari (iOS) or Chrome (Android), paste your HTML, configure settings, and tap Convert. Output saves to Files (iOS) or Downloads (Android).
Because the output is image-based — every pixel of the rendered HTML becomes part of a JPEG embedded in the PDF. Compressed JPEG quality is set to ~92% which balances size and fidelity. For HTML that's mostly text, the output PDF will be 5–10× the HTML's text size; for HTML with embedded images, the increase is smaller relative to source.
Not currently — the tool converts one HTML input per conversion. For batch conversion, run each one through and use our Merge PDF tool to combine the resulting PDFs into a single document.
Once the page is loaded, yes. The browser canvas capture and the underlying PDF engine libraries are cached after first load. The only thing that requires network is URL mode (which needs to fetch the URL). Paste mode works fully offline.
Image-based PDFs always have a slight softness compared to native PDF text. We render the canvas at 2× scale internally (retina-sharp) to minimise this. If you need crisp text, use our Word-to-PDF tool with the content reformatted as a Word doc — it produces real text PDFs.
Not directly — this tool just converts the HTML to PDF. For page numbers afterwards, run the output through our Page Numbers PDF tool. For headers/footers, include them in your HTML before conversion (e.g. with position:fixed at top/bottom of your HTML body).
Tools picked because they pair naturally with the one above — the next step in a typical PDF workflow.