Free Invoice Generator
Sender (From)
Recipient (Bill To)
| Description | Qty | Rate | Amount |
|---|
From
Bill To
| Description | Qty | Rate | Amount |
|---|
Frequently Asked Questions
How do I save the invoice as a PDF?
Simply follow these steps to download the invoice as a PDF file:
- Click the Print Invoice / Save PDF button above. This triggers the browser's native printing window.
- In the Destination dropdown, choose Save as PDF (or Microsoft Print to PDF).
- Set Layout to Portrait.
- (Optional) Expand the More Settings option, select the correct paper format (e.g. A4 or Letter), and check/uncheck Background graphics based on how you want colors to render. If background colors aren't rendering, checking "Background graphics" is required.
- Click Save and choose where to store the PDF file on your computer.
Is my billing data secure?
Absolutely. Your privacy and security are our highest priority. Unlike other invoice tools, UtilNode runs completely in your local web browser. None of the values you type (such as pricing, contact details, business data) are sent to any remote server or stored in the cloud. All PDF document rendering happens client-side using native browser rendering vectors.
Can I customize the colors and logo of the invoice template?
Yes. In the Branding & Layout card, you can click on any of the color presets to instantly style the invoice accents. You can also upload custom JPEG, PNG, or SVG logos which are rendered beautifully at the top left of the invoice sheet.
Can I backup or edit my invoice data in JSON format?
Yes. The invoice details are stored in your browser's local storage under the key
utilnode_invoice_data. You can retrieve or backup this data directly via the
browser developer console by typing localStorage.getItem('utilnode_invoice_data').
The JSON schema structured by the tool is formatted as follows:
{
"invoiceNo": "INV-2026-001",
"date": "2026-06-16",
"dueDate": "2026-07-16",
"sender": {
"name": "Company Name",
"taxId": "VAT-123456",
"address": "123 Business St, London"
},
"client": {
"name": "Client Name",
"taxId": "VAT-987654",
"address": "456 Client Rd, Paris"
},
"items": [
{ "desc": "Consulting Services", "qty": 10, "rate": 150 }
],
"taxRate": 18,
"discountRate": 5,
"shipping": 25,
"paymentDetails": "Bank Details...",
"notes": "Thank you!"
}
Better Than Traditional Alternatives
When you search for a free invoice maker online, you typically run into tools that hold your data hostage. We built this tool to fix those exact frustrations:
- No Sign-Up Paywalls: Many traditional invoice generators let you fill out your entire invoice, only to demand an email address or a paid subscription right before you can click "Download PDF". Our tool is completely unrestricted.
- No Hidden Watermarks: We will never plaster "Generated by UtilNode" across your professional documents. Your invoices are entirely your own.
- 100% Client-Side Privacy: Traditional alternatives upload your sensitive financial and client data to their cloud databases. We utilize modern browser APIs to process everything locally. Your data never touches our servers.
Copy-Paste Utility: Invoice Math Engine
If you are a developer looking to build your own billing system, calculating cascading discounts and taxes can be tricky. Here is the JavaScript formula we use to safely compute the Grand Total:
function calculateGrandTotal(subtotal, discountPct, taxPct, shippingFee) {
// 1. Apply discount to subtotal
const discountAmount = subtotal * (discountPct / 100);
const taxableAmount = subtotal - discountAmount;
// 2. Apply tax to the discounted amount
const taxAmount = taxableAmount * (taxPct / 100);
// 3. Add shipping (usually not taxed, depending on jurisdiction)
const grandTotal = taxableAmount + taxAmount + shippingFee;
return grandTotal;
}