Open-Source Invoice Generator - Free and Self-Hostable
The whole generator is on GitHub under AGPL-3.0. Use the hosted copy, fork it, or run it on your own server. Either way the PDF is rendered in the browser and no account is involved.
AGPL-3.0, source public on GitHub, Fork it or host it yourself, PDF rendered in your browser, 12 languages and 122 currencies, No account, no ads
The project at a glance
- License
- AGPL-3.0
- Source
- Public on GitHub, with issues and pull requests open
- Built with
- Next.js, TypeScript, React and Zod
- How the PDF is made
- react-pdf, running in the browser rather than on a server
- Self-hosting
- Clone it, install with pnpm, deploy anywhere Next.js runs
- Account required
- No
- Languages on the PDF
- 12
- Currencies
- 122
- Price
- Free, hosted and self-hosted alike
What open source changes for an invoice tool
You can read the code that builds your PDF. That is a different kind of privacy claim from a page that tells you your data is safe.
- The rendering code is in the repository, so you can check what ends up in the file
- Fork it when the default layout is wrong for your market
- Run your own copy when a hosted tool is not allowed where you work
- If this project stops being maintained, your copy still builds
Open source compared
Most invoicing tools are closed products with an export button. This compares what changes when the code is public.
| EasyInvoicePDF.com | Closed invoicing tools | |
|---|---|---|
| Source code public | ✅ AGPL-3.0 | ❌ No |
| Host it yourself | ✅ Yes | ❌ No |
| PDF built on your device | ✅ Yes | ⚠️ Usually server-side |
| Works without an account | ✅ Yes | ❌ No |
| Still works if the company folds | ✅ Your copy builds | ❌ No |
| Price | ✅ Free | ⚠️ Paid plans |
Written to be read
The invoice schema is one Zod file, and every form field, PDF template and share link derives its types from it. Adding a field is a change in one place that the compiler then chases through everything downstream.
The templates are React components. Changing a column heading, a font weight or the order of the totals is an edit to JSX, not to a template language you have to learn first.
Both PDF templates render from the same invoice data, so a change you make to one has an obvious counterpart in the other.
Ready to try it?
The form opens with an empty invoice. Fill it in and download the PDF. No account needed.
Host it yourself
The copy at easyinvoicepdf.com and a copy on your own server run the same code.
- Clone the repository and install the dependencies with pnpm
- Deploy anywhere Next.js runs
- Change the default template, the fonts or the wording for your own business
- Keep it inside your own network when that is what your policy requires
Create an invoice and download the PDF
Four steps on the hosted copy, and the same four on yours.
- Open the generator. An empty invoice is already loaded.
- Fill in the seller and buyer blocks, then add your line items.
- Watch the preview beside the form redraw with each change.
- Press Download PDF, or send your client a share link instead.
FAQ
Is it really open source?
Yes. The source is public on GitHub under AGPL-3.0, and you can read it, fork it and adapt it within the terms of that license.
Can I use it commercially?
Yes, as long as you comply with AGPL-3.0. That includes offering the corresponding source to anyone you make a modified version available to over a network.
Can I self-host it?
Yes. Clone the repository, install with pnpm, and deploy it anywhere Next.js runs. The hosted copy carries no feature that a self-hosted one lacks.
What is it built with?
Next.js and TypeScript, with React Hook Form and Zod behind the invoice form, and react-pdf generating the document in the browser rather than on a server.
How do I create a free invoice?
Open the app, fill in the invoice fields, watch the PDF preview update as you type, then press Download PDF. There is no signup step on the hosted copy or on your own.
Can I create invoices without installing anything?
Yes. It is a web app, so a modern browser is all you need. Installing is only for people who want to run their own copy.
Can I change the template?
In the app you can adjust fields, tax labels, currency, language, dates and notes before generating the PDF. In a fork you can change the layout itself, since the templates are React components.
Does it have ads?
No. There are no ads, tracking pixels or third-party ad networks, on the hosted copy or in the source.