Invoice Generator
Fill in your business, your client, and a few line items — get a clean, ready-to-send invoice, entirely offline, with nothing ever sent to a server.
Add your business info, your client's details, and a few line items, and watch a clean, professional invoice build itself live as you type. Print it or save it as a PDF using your browser's own print function — no server round-trip, no account, no per-invoice fee. Your business profile and recent clients are remembered locally so the next invoice takes even less time.
What it does
Most "free" invoice tools aren't as private as they look. Full platforms like Wave and Zoho Invoice require creating an account and store your client's name, address, and billing history on their servers indefinitely. PayPal's invoicing has no monthly fee but takes a 2.99–3.49% (+ a flat fee) cut of every payment collected through it. Even the "no signup required" web generators — invoice-generator.com being the clearest example — still work by sending your invoice data to their server, which renders the PDF and hands it back; there's no account, but your client's name and the dollar amount you're billing them still leave your machine. This tool works differently: the entire thing — the form, the live preview, the PDF rendering via your browser's native print engine — runs in a single HTML file with zero network requests. Nobody's server ever sees your client's name, address, or what you're charging them, because there is no server.
Who it's for: a freelance designer, consultant, or contractor who needs to send a professional-looking invoice today, doesn't invoice often enough to justify a monthly subscription, and would rather not put a client's contact details on a stranger's cloud server just to bill them.
Example scenario: a freelance designer wraps up a small branding project — a logo, a short brand guide, a few rounds of revisions — and wants to invoice the client that same afternoon. They open the tool, fill in their business details (remembered from last time), add the client, add three line items with quantities and rates, watch the total calculate itself including a 10% loyalty discount and local sales tax, and click "Print / Save as PDF." Two minutes later, a clean PDF is in their downloads folder, ready to email.
What it explicitly does not do: it does not send invoices by email itself (you still attach and send the PDF yourself), does not accept online payments or generate a "pay now" link, does not track whether a client has viewed or paid an invoice, does not sync across devices (recent business/client info is remembered in this specific browser only, via localStorage — not in the cloud), and does not import/export CSV or connect to accounting software. If you need payment collection, multi-device sync, or a client-facing payment portal, you want a full platform like Wave or Zoho — this tool is for the much more common case of "I just need to get a correct, good-looking invoice out the door without an account."
Features
- Live-updating invoice preview that's exactly what prints — no separate "generate" step to second-guess.
- Sequential invoice numbering that auto-advances each time you start a new invoice, fully editable if you need to match an existing numbering scheme.
- Automatic subtotal, percentage or flat discount, and percentage tax calculation, shown as clear line items on the invoice itself.
- Business profile and up to 20 recent clients remembered locally (via
localStorage) so a repeat invoice takes under a minute. - One-click "Print / Save as PDF" using your browser's own native print engine — no PDF library, no plugin, no upload.
- Built-in validation that catches missing business/client names, empty descriptions, and zero or negative quantities before you print, so you don't send an invoice with a $0 line item by accident.
Browser support
| Platform | Result | Notes |
|---|---|---|
| Desktop Chrome (Chromium engine, automated) | Verified working | Full functional test suite run via Playwright's Chromium browser: business/client form fill, live preview math (subtotal, percentage discount, percentage tax, grand total) checked against hand-calculated expected values and matched exactly, empty-state validation (blocks printing with 3 correct inline errors), negative-quantity validation, successful print trigger (`window.print()` genuinely called only after validation passes), recent-client save-and-recall, full page reload with business/client/line-items/invoice-number all correctly restored from localStorage, sequential invoice numbering advancing correctly on "New Invoice," keyboard flow (Tab order, Enter-to-advance between description→qty→rate, Enter on the last row's rate field adding a new row and focusing it), a 60-line-item performance/focus-preservation check, and zero console messages or page errors across the entire run. |
| Desktop Chrome (real Google Chrome.app) | Verified working | Opened the actual installed application (not just the automated Chromium engine) and visually confirmed clean load and layout via screenshot. |
| Desktop Safari (real Safari.app, WebKit engine) | Verified working (visual) | Opened the actual installed application and visually confirmed clean load, correct layout, fonts, and form rendering via screenshot. This machine cannot grant Accessibility permission for UI-scripting, so the deep interaction test above (fill/validate/print/persist) was not separately re-run by clicking through real Safari — but the tool uses no Chromium-specific APIs (plain DOM, `localStorage`, standard form inputs, `@media print`), so the WebKit render being visually correct is a meaningful, not just cosmetic, check. |
| Desktop Firefox (real Firefox.app, Gecko engine) | Verified working (visual) | Same method and same caveat as Safari above — opened the real application, confirmed clean load and layout via screenshot. |
| Print / Save-as-PDF output | Verified working | Rendered via Chromium's print-media emulation and its native PDF pipeline (the same engine behind "Print to PDF"): confirmed the invoice fills the page from the top-left in normal document flow, with the editor form, header, and footer correctly hidden — catching and fixing a real bug in the process (see Known limitations below). |
| Small-viewport / touch (390×844, emulated) | Verified working | Confirmed no horizontal overflow via direct DOM measurement (`scrollWidth` vs `clientWidth`) after two real layout bugs were found and fixed — see Known limitations. Responsive single-column layout confirmed by screenshot. |
| Dark mode (`prefers-color-scheme: dark`) | Verified working | Editor UI switches to the dark palette correctly; the invoice preview itself was confirmed via computed style to stay pure white (`rgb(255,255,255)`) regardless of theme — the print output is deliberately theme-independent. |
| iOS Safari | Not tested | No iOS device or simulator available on this machine — do not claim iOS support until checked on a real device. |
| Android Chrome | Full | Tested on a real Android device in Chrome — works. |
Plain-language summary for the listing: Verified on desktop Chrome (including a full automated test of every feature — form, math, validation, print, and saved data), and visually confirmed on desktop Safari and Firefox. Not yet verified on a physical iOS or Android device — if you're on mobile, it's built with only standard, widely-supported web features (plain HTML forms, localStorage, CSS print styles), so it's very likely to work, but this hasn't been confirmed hands-on yet.
FAQ
Does my file get uploaded anywhere?
No. This is a single HTML file with zero network requests — open your browser's developer tools and watch the network tab if you want to verify it yourself; nothing happens when you type, add line items, or click print. Your business info and recent clients are saved only in this browser's local storage, on your own machine.
Does this work on my iPhone/iPad?
It hasn't been verified on a physical iOS device yet (see the platform-support table above for exactly what has and hasn't been checked). It uses only standard web features with no exotic APIs, so it's likely to work, but this tool doesn't claim iOS support until that's been confirmed hands-on.
What happens to my file if I lose the download?
Your business info and this client's details are still saved in the tool (in this browser, on this device), so you can reopen the tool, re-add the same line items, and print again in under a minute. The generated PDF file itself isn't stored anywhere by the tool — once you save or print it, treat that file the way you'd treat any other document you care about (back it up, keep a copy in your invoicing folder). Unlike a cloud platform, there's no "invoice history" list inside the tool itself.
Can I use this for client or commercial work?
Yes. Every invoice you generate is entirely yours — no attribution required, no restriction on client-facing or commercial use.
Is there a subscription?
No. This is a one-time purchase of a single, self-contained HTML file. No recurring charges, no per-invoice fee, no feature paywall.
- ✓ Runs 100% offline in your browser
- ✓ Single HTML file — no install, no dependencies
- ✓ No account, no telemetry, no tracking
- ✓ Buy once — yours forever
After checkout you get an instant download link. Open the file in any modern browser and it just works.
Pairs well with
✓ runs entirely on your device — Wi-Fi off? Still works.
accounts sign-ups cloud uploads none
✓ your files stay where you put them
Prefer to try before buying? The browser versions of every tool run free at tools.untracked.tools — no upload, ever.