🙈.gitignore Template Generator

Pick your stack, generate ignore rules

Where this list comes from

The entries here are widely used community conventions in each ecosystem, not an official standard. That is why they are all optional, and the same statement goes into the generated file as a comment. For a broader collection, look at the gitignore template collection GitHub publishes. This tool does not copy or stand in for that repository.

Some entries are genuine judgment calls. Teams do commit .vscode/ as shared settings, and projects do commit Cargo.lock or vendor/ on purpose. Read the result and cut or add as you see fit. A file Git already tracks is not dropped by adding it to .gitignore; remove it from the index with git rm --cached first.

You Might Also Need

Pick the blocks, duplicates get filtered

Tick the languages, runtimes, frameworks, editors and operating systems you need and a .gitignore comes back with each block separated by a comment. Where two blocks share a rule it is kept once, and the number of filtered lines is reported. Project-specific rules typed into the free-form box are appended as a final block, and the byte size of the finished file is shown alongside.

These are conventions, not an official standard

There is no official specification for per-language ignore lists. The entries here collect conventions widely used in each ecosystem, which is why they are all optional and why the generated file states the same thing in a comment at the top. For a broader collection, look at the gitignore template collection GitHub publishes; this tool neither copies nor replaces that repository. Checked October 2026.

Judgment calls and limits

Some entries are genuinely contested: teams commit .vscode/ as shared settings, and projects commit Cargo.lock or vendor/ on purpose, so there is no single right answer. Read the output and cut or add as you see fit. A file Git already tracks is not dropped by adding it here either. The tool does not inspect a repository to work out what ought to be ignored.

Frequently Asked Questions

I added it to .gitignore, so why does it keep getting committed?

A file Git already tracks is not dropped by .gitignore. Remove it from the index first with git rm --cached, then commit.

Is there a case where an exclamation mark cannot re-include a file?

Yes. Once a parent directory is excluded, a file inside it cannot be re-included with an exclamation mark. Exclude the file patterns rather than the directory itself.

Is this list an official standard?

No. It collects community conventions from each ecosystem as options, and the generated file says so in a comment at the top. Check it against your own project.