Open Source License Generator

Generate a ready-to-commit LICENSE file with your year and name filled in, for MIT, BSD, ISC, Apache, MPL or the GNU licences.

SPDX: MIT

No uploads. Your files stay on your device.

Free forever, no sign-up, no cookies. Buy me a coffee

How it works

Pick a licence, type the copyright year and the name of the copyright holder, and the LICENSE file is filled in as you type. The seven permissive licences at the top of the list โ€” MIT, ISC, BSD 2-Clause, BSD 3-Clause, 0BSD, MIT-0 and the Unlicense โ€” are short enough to reproduce in full, so you get the complete, ready-to-commit text with the [year] and [fullname] placeholders replaced. The matching SPDX identifier from the SPDX License List is shown beside the options, so you can paste SPDX-License-Identifier: MIT into a source header or into the license field of package.json, Cargo.toml or pyproject.toml.

Apache-2.0, MPL-2.0, GPL-3.0, LGPL-3.0 and AGPL-3.0 run to thousands of words, and a licence retyped from memory is not that licence any more. For those five this tool generates the official notice instead โ€” the Apache 2.0 appendix boilerplate, MPL-2.0 Exhibit A, and the FSF "How to Apply These Terms to Your New Programs" notice โ€” with your year, holder and project filled in, plus the exact address to copy the unmodified full text from. For the GNU licences a checkbox switches between the -only and -or-later variants, which changes both the SPDX identifier and the "or (at your option) any later version" line.

Everything runs in your browser: the licence texts are embedded in this page, nothing is uploaded, and the name you type never leaves your device. This is a drafting aid, not legal advice โ€” if the licensing of your project matters commercially, have a lawyer read it before you publish.

Frequently asked questions

Which open source licence should I choose?

If you want the widest possible adoption and do not mind others using your code in closed-source products, pick a permissive licence: MIT and ISC are the shortest, BSD 3-Clause adds a no-endorsement clause, and Apache 2.0 adds an explicit patent grant that many companies prefer. If you want changes to stay open, pick a copyleft licence: MPL 2.0 is file-level copyleft, GPL v3 covers whole derived works, and AGPL v3 extends that to software users reach over a network. This tool shows a one-line summary of the permissions and conditions for whichever licence you select.

Why does this tool not print the full GPL or Apache text?

Because those licences run to thousands of words and must be distributed unmodified. A licence retyped from memory is not that licence any more, so instead of risking a subtly altered copy the tool generates the official notice for you (the Apache 2.0 appendix boilerplate, MPL 2.0 Exhibit A, or the FSF "How to Apply These Terms" notice) with your year, holder and project filled in, together with the exact address to copy the verbatim full text from. The seven short permissive licences are reproduced in full.

Where do I put the LICENSE file and the SPDX identifier?

Save the generated file as LICENSE (no extension) in the root of your repository, and GitHub, GitLab and npm will detect it automatically. The SPDX identifier shown next to the options is the machine-readable name of the same licence: paste it into the license field of package.json, Cargo.toml or pyproject.toml, and add the SPDX-License-Identifier comment line at the top of your source files so automated licence scanners get it right.

Report a bug