Create and Download a PDF

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.comClosed 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.

Create and Download a PDF

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.