Invoice Generator

Generate a clean invoice in markdown + print-ready HTML. Fill form, see live preview, save as PDF via browser print. No upload, no signup.

From (your business)

To (client)

Description Qty Unit price Line total

  

Why this exists

If you're a freelancer or solo operator, you need a serviceable invoice now and then — but you don't want to spin up Zoho or a SaaS subscription, and you don't want to upload your client list to a third party just to format one PDF. This tool gives you a clean line-item invoice with markdown + print-ready HTML output, computed in your browser, with zero network round-trips after the page loads. Hit the browser print dialog to save as PDF.

How to use it

  1. Fill in your "From" details and your client's "To" details.
  2. Set the invoice number, issue date, due date and currency.
  3. Add line items — description, quantity, unit price.
  4. Pick a VAT country (loads the standard rate) or set a custom rate. If you don't charge VAT, leave both blank.
  5. Click Save state in URL after entering your "From" — that bookmarks your business info into the URL fragment so you don't re-type it next time. The line items don't get saved — they're per-invoice.
  6. Click Print / Save as PDF, then in the print dialog pick "Save as PDF" as the destination.
  7. Or copy the markdown if you want to embed the invoice in an email or doc.

VAT — read this first

The country picker loads a sensible standard rate (e.g. Germany 19%, Slovakia 23% from 2025, Switzerland 8.1%), but VAT is genuinely complicated and the right rate depends on:

This tool is a formatting helper, not a tax advisor. Pick the rate that's correct for your specific supply; when in doubt ask your accountant or check your tax authority's published guidance.

What the URL fragment actually stores

Click "Save state in URL" and your From + To blocks, currency, VAT country/rate, and the notes field get base64-encoded into the URL fragment (the part after #). Browser fragments are never sent to the server in HTTP requests, so this is genuinely client-side — but it does mean if you share the URL, the recipient sees the info. Bookmark it for yourself; don't paste the URL into chat.

Line items are not saved — they change every invoice, so persisting them would be more confusing than useful.

Common gotchas