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
A file Git already tracks is not dropped by .gitignore. Remove it from the index first with git rm --cached, then commit.
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.
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.