Invoice Generator

Create a professional invoice with your logo, line items, tax, discount and shipping, preview it live and download a PDF.

  • Runs in your browser
  • Free, no sign-up
Your business

Shown at the top of the invoice.

0 / 1,000

For example a VAT, GST, ABN or EIN number, if your invoices must show one.

Logo (optional)

PNG or JPEG up to 2 MB. It stays on your device and is embedded in the PDF.

Bill to
0 / 1,000
Invoice details

New invoice suggests the next number.

Paper size
Line items

Amounts in USD. Each line is quantity times unit price, rounded to the nearest minor unit.

  1. 0 / 2,000
    Amount

    -

Tax, discount and shipping

Enter your own rate. Tax is charged on the subtotal after the discount; shipping is not taxed.

For example VAT, GST or Sales tax.

0 to leave tax off the invoice.

Discount type

A deposit or part payment. Subtracted from the amount due.

Payment instructions and notes
0 / 5,000
0 / 5,000

Invoice preview

Your draft is saved automatically in this browser only (localStorage). Nothing is uploaded. Use Export JSON to move it to another device.

Your business name

INVOICE

Invoice no.
INV-0001
Issue date
-
Due date
-
Terms
Net 30
Amount due
-
DescriptionQtyUnit priceAmount
-1$0.00-

The PDF is created in your browser with the same content as this preview. Long item lists continue onto extra pages automatically.

This tool does the arithmetic and layout only. It is not tax or legal advice. Check what your country requires on an invoice (for example registration numbers, tax breakdowns or specific wording) and whether you must use an e-invoicing system.

What does Invoice Generator do?

Free invoice generator: add your logo, client, line items, tax, discount and shipping in any currency, see a live preview and download a PDF. No sign up.

Price
Free
Account
Not required
Processing
Entirely in your browser; your data and files are not uploaded
Works on
Any modern browser on desktop, tablet or phone
Category
Business Tools

How to use the invoice generator

  1. Enter your business details and, optionally, add your logo (PNG or JPEG up to 2 MB).
  2. Enter the client, invoice number, issue date and payment terms, then choose the currency and number format.
  3. Add line items with a description, quantity and unit price. Reorder or remove rows with the buttons under each item.
  4. Set your tax label and rate, any discount, shipping and amount already paid, and add payment instructions or notes.
  5. Check the live preview, choose A4 or US Letter and click Download PDF. Use New invoice for the next one; the number is incremented for you.

Worked example

Two items, 10% discount, 8.25% sales tax, $5 shipping and a $20 deposit

2 x $49.99 = $99.98 and 1 x $0.05 = $0.05, so the subtotal is $100.03. The 10% discount is $10.003, rounded to $10.00, leaving $90.03. Sales tax at 8.25% is $7.427475, rounded half-up to $7.43. Adding $5.00 shipping gives a total of $102.46, and after the $20.00 deposit the amount due is $82.46. The tax rate and amounts here are examples; use your own.

How it works

All money is calculated in whole minor units (cents for USD, yen for JPY, fils for KWD, using the currency’s digits from the browser’s Intl data) with exact integer arithmetic, so there is no floating point drift. Each line amount is quantity x unit price, rounded half-up to the minor unit. Subtotal = sum of line amounts. A percentage discount is subtotal x rate rounded half-up; a fixed discount is capped at the subtotal. Tax = (subtotal - discount) x tax rate, calculated once for the whole invoice and rounded half-up (0.5 of a cent rounds up). Shipping is added after tax and is not taxed. Total = subtotal - discount + tax + shipping and amount due = total - amount already paid. The PDF is drawn with pdf-lib in your browser.

Assumptions

  • The tax rate, label and whether tax applies at all are entered by you. The tool does not know the rules or rates for your country or product.
  • Tax is calculated once on the invoice total after discount, not line by line. Some tax systems require per-line rounding, which can differ by a cent.
  • Shipping is not taxed. If your shipping is taxable, add it as a line item instead.
  • Due dates for Net 7, 14, 30 and 60 are that many calendar days after the issue date.

Frequently asked questions

Is my invoice data uploaded or stored on your server?

No. Everything, including your logo, stays in your browser. The draft is saved automatically in this browser’s local storage so you can come back to it, and you can export it as a JSON file to keep a copy or move it to another device.

Why do some characters show as a question mark in the PDF?

The PDF uses the standard Helvetica font built into every PDF reader, which covers Western European characters only. Characters outside that set, such as the rupee sign, Chinese, Arabic or emoji, cannot be drawn and are replaced. The tool warns you before you download. Where the currency symbol cannot be drawn, the ISO code (for example INR) is used instead.

Is this a legally valid invoice?

It contains the details most invoices need, but requirements vary by country and business type. Some places require tax registration numbers, a tax breakdown, specific wording or an approved e-invoicing system. Check your local rules or ask an accountant; this tool is not tax or legal advice.

How is the next invoice number chosen?

New invoice adds one to the last number in your invoice number and keeps any leading zeros, so INV-0009 becomes INV-0010. You can always type a different number.

Limitations

  • Not tax or legal advice. You are responsible for the tax rate, required details and wording for your jurisdiction.
  • One tax rate per invoice. Mixed rates, compound taxes and tax-inclusive prices are not supported.
  • No e-invoicing formats (such as Peppol, Factur-X, XRechnung or FatturaPA), payment links or sending by email.
  • The PDF uses standard fonts, so characters outside Western European scripts are replaced.
  • The draft is kept only in this browser. Clearing site data removes it, so export important invoices as PDF and JSON.