Build a .gitignore from templates for languages, frameworks, editors and operating systems. Deduplicated automatically. Free, runs in your browser.
First time here? Select the languages, frameworks, editors and systems you use Your input is processed locally and disappears when you close the tab.
Every new repository needs a .gitignore, and everyone assembles one the same way: copy something from a previous project, remember halfway through that this one uses Python too, and end up with a file full of duplicated rules. This free gitignore generator builds a clean one from templates.\n\nPick your languages, frameworks, editors and operating systems and the rules are combined into commented sections, with duplicates removed — several templates independently ignore *.log and build/, and repeating them helps nobody. Custom rules go in their own section at the end.\n\nTwo templates are worth selecting on almost every project. The secrets template covers .env files, private keys and credential stores while deliberately allowing .env.example through, so the team still gets a reference file. The logs and temp template catches the noise that otherwise accumulates in a repository over months.\n\nTwo things the tool explains because they catch people out constantly. First, .gitignore only affects untracked files — adding a rule for something already committed changes nothing until you run git rm --cached on it. Second, and more seriously: if a secret has already been pushed, ignoring it does not remove it from history. Rotate the credential and treat it as leaked.
Select the languages, frameworks, editors and systems you use
Add any project-specific rules
Copy or download the file
Save it as .gitignore at your repository root
.gitignore only affects untracked files. Adding a rule for something already committed changes nothing — Git keeps tracking it. Run git rm --cached <file> to stop tracking it, then commit.
And if a secret has already been pushed, removing it from the working tree is not enough — it stays in history. Rotate the credential; treat it as leaked.
Duplicate rules across templates are removed automatically, and the VS Code section deliberately un-ignores settings.json and extensions.json, which teams usually do want committed.