Create a free invoice PDF online

Free invoice generator: professional PDF in your browser. No signup, no watermark, no upload. Totals use integer cents. Cyrillic names print. Drafts stay on this device.

Drafts stay on this device. Nothing is sent to a server. How it works · FAQ · Contact

Loading the form…

How it works

  1. 1

    Enter your name and address in From, then the client in Bill to.

  2. 2

    Set the invoice number, issue date and due date (default is 14 days).

  3. 3

    Add line items with a quantity and a unit price. Tax is a percent after a flat discount.

  4. 4

    Check the live preview. Download PDF — the file is built in this browser, not on a server.

Why generate an invoice PDF in the browser

Freelancers still lose hours to Word templates that jump margins, Excel sheets that round VAT wrong, and “free” invoice SaaS that locks the PDF behind an account. Nota is the opposite shape: one A4 page, filled here, downloaded here. The numbers are qty × price in integer cents so $10.10 × 3 does not become 30.299999. If you have ever had a payable clerk reject a file because the total was a pixel off, that is the bug this math is for.

Cloud generators want the client list, the logo and often the bank details on their disk. That is a poor fit when you invoice a hospital, a law firm or a buyer who signed an NDA. Nota never posts the form. pdf-lib draws an A4 layout with Noto Sans embedded, so “ТОО Акация” and “Studio Atabek” both print instead of throwing a WinAnsi error. Selectable text means someone can copy the IBAN from Notes instead of retyping it from a screenshot.

The file is a normal PDF. Open it in Preview, Adobe Reader or a phone Files app. The header says INVOICE plus your number. From is left, Bill to is right. Line items sit under a Description / Qty / Price / Amount row. Totals sit on the right: subtotal, optional flat discount, optional tax percent, then total. Notes at the bottom are for IBAN, Kaspi, PayPal or “net 14”. Extra lines that would fall off the page are omitted with a short notice rather than a second blank sheet.

What this tool is not

It is not accounting software. It does not email the client, chase late invoices, store a customer book or talk to a tax office. It does not watermark the amount. It does not cap downloads. If you need recurring invoices with a CRM, use that CRM; export a PDF here when you just need one clean page today.

Currencies on the form: US dollar, euro, pound sterling and Kazakh tenge. Tenge prints as the letters KZT plus the amount so a missing glyph cannot blank the total. Tax is applied after discount. Discount is money, not a percent — if you need 10% off, type the amount yourself.

Optional logo: PNG or JPEG under 2 MB. We read magic bytes, not just the file extension, and skip anything else. GIF banners and SVG marks are not embedded. A bad logo never blocks the rest of the invoice.

Drafts live in this browser’s local storage with a short debounce. Another phone does not see them. Tap Start over to wipe the draft. Hosting still records ordinary page hits (IP, user-agent) the way every public site does; that log is not your invoice.

Longer walkthroughs: how to create an invoice PDF without uploading, which fields belong on the page, tax and discount math, who this is for, and using Nota in Safari on iPhone. Questions sit on the FAQ. Mail: contact.

Frequently asked questions

Does my invoice leave this device?+

No. Names, line items, tax, notes and the optional logo stay in this tab. pdf-lib builds the PDF in memory. Closing the tab drops the file bytes. A draft may sit in this browser’s local storage until you tap Start over or clear site data.

Do I have to create an account?+

No. There is no signup wall, no email capture and no daily quota. Fill From, Bill to and one priced line, then download.

Is there a watermark or a cap on downloads?+

No watermark over totals. A small “Created with Nota” line sits in the page footer of the PDF. You can download as many files as this device can store.

Which browsers and iPhones work?+

Current Chrome, Firefox, Edge and Safari, including iOS Safari. On iPhone the PDF saves through the browser download sheet. If a popup blocker eats the file, tap Download PDF again.

What is the logo limit?+

PNG or JPEG only, magic-bytes checked, 2 MB max. GIF, SVG and PDF logos are rejected. A broken image is skipped; the invoice still downloads.

Which currencies can I print?+

USD, EUR, GBP and KZT. Amounts are rounded to cents (tiyn for tenge). On the PDF, tenge is written as KZT plus the number so the glyph never falls out of the font.

How are tax and discount calculated?+

Each line is qty × unit price in cents. Discount is a flat amount, never a percent, and cannot exceed the subtotal. Tax is a percent of the amount after discount. Total = subtotal − discount + tax.

Will Cyrillic names print?+

Yes. Nota embeds Noto Sans (regular and bold) and subsets the glyphs you actually typed. Helvetica-only generators throw on “ТОО” or “Студия”. If font files fail to load, Latin still prints with a fallback.

Can I send the invoice by email from here?+

No. Nota does not mail PDFs, does not store clients and is not a collections inbox. Download the file and attach it in the mail app you already use.

Is the Vercel domain safe for invoice data?+

The app is static files plus client JavaScript. Invoice fields are not posted to our origin. Hosting still sees ordinary request logs (IP, user-agent) like any public site. Do not paste bank passwords into Notes.

When will ads appear?+

Slots after a successful download, mid-page and in the footer are placeholders until Google marks the site Ready. We do not ask you to click ads. Auto ads overlays are off so Download PDF is not covered.

Who runs Nota and how do I write?+

Nota is a public invoice utility from the same workshop as Folio (PDF toolkit) and HEIC Local. Email ultaultimatum@gmail.com. Do not attach invoices or logos to that mailbox — describe the page URL, browser and what you expected.

Is this an official tax form or legal advice?+

No. You remain responsible for fields your country requires (VAT ID, company number, payment terms). Nota is a layout tool. It does not file returns or talk to a tax office.

What if Download PDF does nothing?+

Add a From name, a Bill-to name and at least one line with a numeric price. Empty price fields are ignored. If a logo was huge or not PNG/JPEG, remove it and try again. Very long notes are clipped on a single A4 page.

Why is tax after discount?+

Because the total formula is subtotal − discount + tax. A line-item VAT-before-discount workflow belongs in an accounting suite with tax codes. Nota is a one-page A4 for people who already know the numbers. See /tax for the worked example. Do not invent a 0.01 line to game the order.

Will you store my client list if I leave the tab open?+

A draft may sit in this browser’s localStorage until Start over or until you clear site data. Another phone does not see it. We do not have a server copy to restore. Treat Download PDF as save. Do not type secrets you would not want in ordinary browser storage.

Can I attach a scanned contract instead of a logo?+

No. The logo slot accepts PNG/JPEG only, checked by magic bytes. A PDF, HEIC or GIF is refused. The invoice body is drawn as text. If you need to merge a signed scan, that is Folio on a different domain, after you already have the invoice PDF.

Is an estimate the same as an invoice?+

No. The /estimate page prints ESTIMATE, a Valid-until date, and a footer that the PDF is not a tax invoice. The home page prints INVOICE and Due. Both use integer-cent totals. Do not send an estimate to a tax office as a VAT invoice. If the client accepts, issue INV- on the invoice generator.

Why does the estimate use the same dueDate field?+

One data shape so math.ts stays locked. The estimate screen labels that field Valid until and defaultEstimate() sets +30 days. defaultInvoice() still uses INV- and +14. Drafts live in nota-estimate-draft-v1, not the invoice key, so a bill does not open as an offer.