.gitignore generator
Tick the languages, frameworks, editors and operating systems your project touches — the file below combines their templates, in order, with a comment heading per section. Runs entirely in your browser; nothing is uploaded.
About this tool
Most projects need a .gitignore that's a combination of a few standard pieces — the language toolchain, maybe a framework, your editor's own housekeeping files, and your operating system's. This page keeps each piece as a separate ticked template so you can combine exactly the ones you need, rather than starting from one giant list and deleting the parts that don't apply.
How it works
Each ticked template is appended in a fixed order (languages, then frameworks, then editors, then operating systems, then tools) with a ### Name ### comment heading, exactly as it's stored — nothing is deduplicated or reordered across templates, so if two templates both ignore the same path it will appear twice under two different headings. That's deliberate: it keeps each section a faithful, checkable copy of that template on its own.
Common questions
Why do I see the same line twice?
Because two of your selected templates both mention it — for example most editor templates and most OS templates both ignore their own swap/cache files, and some language templates independently ignore .env. Harmless in a real .gitignore: repeated patterns don't change the result.
Can I edit the result before using it?
Yes — the box is read-only on this page to keep the source clear, but copy or download it and edit freely in your own editor; it's a completely ordinary text file once it leaves here.
My language/tool isn't listed — what do I do?
Pick the closest matches here, download, and add the remaining lines by hand. See Known limitations below for the current list's scope.
Known limitations
Curated list, not a live mirrorThese are a fixed set of commonly needed templates written into this page, not a live copy of GitHub's own community-maintained github/gitignore repository, which is far larger and updated independently. For anything unusual or highly specific, that repository is the more exhaustive source.No automatic deduplicationOverlapping lines between selected templates are kept, not merged — see "Why do I see the same line twice?" above.Limited coverageAround twenty of the most commonly requested languages, frameworks, editors, operating systems and tools are included; niche stacks will need manual additions.
The same job at the command line
curl -L https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore -o .gitignoreFetch a single official template directly, if you only need one and want it byte-for-byte as GitHub maintains it.git check-ignore -v path/to/fileOnce you have a.gitignore, check which rule (and which file/line) is causing a specific path to be ignored.git rm -r --cached . && git add .If you added a.gitignoreafter files were already tracked, this untracks everything and re-adds it respecting the new rules (review the diff before committing).
More tools
See the whole toolbox — thirty-seven free tools planned, all running in your browser.