A lightweight, browser-based invoice builder with no dependencies or build tools required. Fill in your details, add line items, pick a color theme, and export a polished PDF — all from a single HTML file.
- Inline editing — Click any field to edit: invoice number, sender details, client details, invoice date, and footer contact info
- Dynamic line items — Add or remove rows on the fly; subtotal and total due update automatically
- 5 color themes — Navy, Emerald, Sunset, Rose, and Slate, switchable via the theme picker
- Auto-save — All data is persisted in
localStorageso your work survives a page refresh - PDF export — Uses the browser's native print dialog to save a clean, print-optimized PDF (UI chrome is hidden automatically)
- Reset — One-click button to clear all fields back to their default placeholders
- Zero dependencies — Plain HTML, CSS, and JavaScript; no frameworks, no package manager, no build step
No installation required. Simply open index.html in any modern browser:
- Fill in your details — Click the "Your Name", "Your Address", and "Client Name / Client Address" fields and type directly
- Set an invoice number — Click the number next to
#in the header - Pick a date — Click "Select Date" to open the date picker
- Edit line items — Click any description or amount cell to update it; the total updates instantly
- Add / remove rows — Use the + Add Line Item button to insert a new row; click × on any row to delete it (a minimum of one row is always kept)
- Choose a theme — Click a color swatch in the top-left corner to switch themes
- Download PDF — Click Download PDF, then use your browser's print dialog to save as PDF
invoice-generator/
├── index.html # Markup and layout
├── invoice.js # App logic (themes, persistence, line items, totals)
└── style.css # Styles and theme variables
Works in all modern browsers that support contenteditable, localStorage, and the CSS custom properties used for theming (Chrome, Firefox, Safari, Edge).
MIT