Skip to content

HTML Invoice Generator (Print or Save as PDF)

Type your business details, client and line items, and get a finished invoice as one HTML file with the totals worked out. Print it or save it as a PDF from your browser.

Runs in your browserFree, no sign-upLast reviewed

Settings

One item per line: description, quantity, unit price.

Fill in the settings to see your result here.

Your result appears here instantly — nothing is uploaded.

Quick answers

How do I create an invoice in HTML?
Fill in the form and press Generate invoice. The tool writes a complete HTML page with a header, a Bill to block, a line-item table and totals, styled with built-in CSS. Download it as a file named after your invoice number, or copy the code.
How do I save the invoice as a PDF?
Download the HTML file, open it in your browser, choose Print and pick Save as PDF as the destination. Turn off the browser's headers and footers in the print options so the page shows only the invoice.
Can I make an invoice without signing up?
Yes. There is no account, email address or payment involved. You fill in the form, generate the invoice and download it. Because nothing is saved, keep your own copy of each file.
How is the invoice total calculated?
Each line amount is quantity times unit price. The subtotal is the sum of the line amounts, tax is the subtotal times the tax rate, and the total due is subtotal plus tax. With a subtotal of 1,515.00 and 20% tax, tax is 303.00 and the total is 1,818.00.
What should an invoice include?
The seller's name and contact details, the customer's name and address, a unique invoice number, the invoice date, a description of what was supplied with quantities and prices, the total amount due and when payment is due. Tax-registered businesses usually must add their tax number and the tax charged.

About Invoice Generator

This tool turns a short form into a complete invoice: your business name and contact lines, the client, an invoice number, issue and due dates, a line-item table, a subtotal, one tax line and the total due. The result is a single HTML file with its styles built in, so it opens in any browser, prints cleanly and can be saved as a PDF from the print dialog. You can also copy the HTML to adapt as a template. Line items are typed one per line as description, quantity, unit price. There is no account, logo upload, saved history or direct PDF button, and the invoice is built in your browser without being uploaded.

How to type line items

Each line needs three values separated by commas. The last value is read as the unit price and the one before it as the quantity. Everything earlier is the description.

You typeDescriptionQtyUnit priceAmount
Website design, 1, 1200Website design1$1,200.00$1,200.00
Logo revisions, 3, 45Logo revisions3$45.00$135.00
Consulting (hours), 12.5, 80Consulting (hours)12.5$80.00$1,000.00
Travel (miles), 38, 0.45Travel (miles)38$0.45$17.10
Design, development and testing, 2, $1500Design, development and testing2$1,500.00$3,000.00
Design, 2, 1,500Design, 21$500.00$500.00

The last row shows the one trap: do not type a thousands comma in a price. 1,500 is split at the comma, so the price is read as 500 and the quantity as 1. Type 1500 instead. Commas inside the description are fine.

Worked invoice examples with tax

Real totals from the tool for four sets of inputs.

Default example, no tax

Website design, 1, 1200 / Hosting (annual), 1, 180 / Logo revisions, 3, 45. Tax / VAT rate: 0. Currency symbol: $

Subtotal $1,515.00. Tax (0%) $0.00. Total due $1,515.00

UK tradesperson charging 20% VAT

Plumbing labour (hours), 3.5, 65 / Copper pipe 15mm (m), 6, 4.20 / Call-out fee, 1, 40. Tax / VAT rate: 20. Currency symbol: £

Subtotal £292.70. Tax (20%) £58.54. Total due £351.24

Line amounts are £227.50, £25.20 and £40.00.

Indian invoice with 18% tax

Logo design, 1, 15000 / Business cards, 500, 4. Tax / VAT rate: 18. Currency symbol: ₹

Subtotal ₹17,000.00. Tax (18%) ₹3,060.00. Total due ₹20,060.00

The tax appears as a single line. A split into CGST and SGST is not produced.

Monthly retainer with a 7.5% rate

Monthly retainer, 1, 2500. Tax / VAT rate: 7.5. Currency symbol: €

Subtotal €2,500.00. Tax (7.5%) €187.50. Total due €2,687.50

Invoice total formula

Total due = sum of (quantity x unit price) x (1 + tax rate / 100)

Tax is applied once, to the whole subtotal, at the single rate you enter. Amounts are rounded to two decimal places when displayed. The tool does not support a different rate per line, tax-inclusive prices, discounts or shipping as separate total lines. If some items are taxed at another rate, issue them on a separate invoice or work out the tax yourself and enter it as its own line with the rate set to 0.

What appears on the generated invoice

Part of the invoiceComes fromDetails
Seller block, top leftYour business name; Your address / email / phoneName as the heading, each line of the address box on its own line
Invoice panel, top rightInvoice number, Invoice date, Due dateThe word INVOICE, the number with a # in front, and both dates in YYYY-MM-DD form
Bill toBill to; Client address / emailClient name followed by each address line
Line-item tableLine itemsColumns: Description, Qty, Unit price, Amount
TotalsLine items, Tax / VAT rate, Currency symbolSubtotal, Tax with the rate in brackets, and Total in bold
Footer noteNotes / payment termsSmall grey text under the totals; left out if the box is empty

The labels on the invoice are fixed in English. The tax line always reads Tax, so mention VAT or GST and your registration number in the address or notes box if you need them shown.

Common payment terms to put in the notes

TermMeaning
Due on receiptPayment is expected as soon as the invoice arrives
Net 7Payment is due 7 days after the invoice date
Net 15Payment is due 15 days after the invoice date
Net 30Payment is due 30 days after the invoice date
Net 60Payment is due 60 days after the invoice date
2/10 net 30A 2% discount if paid within 10 days, otherwise the full amount in 30 days
50% upfrontHalf is payable before work starts and the rest on completion

Whatever term you write, set the Due date field to match, because the due date is typed, not calculated from the notes.

Using the HTML as an invoice template

The output is one self-contained file. All the CSS sits in a style block in the head, there are no images, web fonts or scripts, and the text uses Arial with a Helvetica and sans-serif fallback. That means the file looks the same offline, as an email attachment or on another computer.

The structure is simple to edit by hand: a header with two columns, a Bill to block, an ordinary HTML table for the line items and a right-aligned totals box. A print rule removes the page padding so the browser's own margins apply. To add a logo, put an img tag above the business name. To change a label such as Tax to VAT, edit the text in the file after downloading.

Because the file stays editable, anyone who receives the HTML could change it. Send clients the PDF version and keep the HTML as your working copy.

How to use it

  1. 1

    Enter Your business name and Your address / email / phone, then the client under Bill to and Client address / email.

  2. 2

    Set the Invoice number, Invoice date and Due date. The due date starts 30 days after today.

  3. 3

    Type the Currency symbol, such as $, £ or €.

  4. 4

    List Line items one per line as description, quantity, unit price, for example Logo revisions, 3, 45.

  5. 5

    Enter a Tax / VAT rate if you charge tax, and edit Notes / payment terms.

  6. 6

    Press Generate invoice, check the preview and totals, then download the HTML file and print it or save it as a PDF.

Common questions

Can I add a discount?
Not as its own line. Negative prices are rejected, so a line such as Discount, 1, -100 produces an error. Reduce the unit price of the item instead and mention the discount in its description or in the notes.
Why do I get an error about three comma-separated values?
A line item is missing a comma. Every line needs a description, a quantity and a unit price separated by commas, as in Hosting (annual), 1, 180. The quantity must be greater than zero and the price must be zero or more.
Can I add my logo to the invoice?
There is no logo upload. The invoice shows your business name as text. If you are comfortable editing HTML, you can add an image tag to the downloaded file before printing it to PDF.
Does the currency field convert amounts?
No. It only sets the symbol printed in front of every amount. Type your prices in the currency you are billing in. Amounts are shown with comma thousands separators and two decimals, such as 1,515.00, whatever symbol you choose.
Can I use fractional quantities such as hours?
Yes. A quantity of 12.5 at a unit price of 80 gives a line amount of 1,000.00. This suits hourly billing, where the quantity is the hours worked and the unit price is your hourly rate.
Is my invoice saved so I can edit it later?
No. Nothing is stored or uploaded, and the form resets when you reload the page. Keep the downloaded HTML file: you can reopen it in a text editor to change details, or re-enter the items here for the next invoice.
How should I number invoices?
Use a unique number for every invoice and keep them in sequence without gaps, such as INV-1001, INV-1002, INV-1003. Many tax authorities require sequential numbering, and a unique reference lets you and your client match payments to invoices.
Is an invoice from this tool legally valid?
An invoice is valid because of what it contains, not the software that made it. Invoice rules vary by country and by whether you are tax-registered, so check what your tax authority requires, such as a tax number or specific wording, and add it in the address or notes boxes.

Looking for something else? Browse all generators or see every tool.