Compose a .gitignore from curated per-stack templates — deduped and ready to commit.
# .gitignore — generated with FreeToolHub node_modules/ npm-debug.log* yarn-error.log* .env .env.local coverage/ dist/ build/ .DS_Store .AppleDouble .LSOverride ._* .vscode/* !.vscode/settings.json !.vscode/extensions.json history/
The .gitignore is generated locally from templates. Nothing is uploaded.
Git matches patterns top-to-bottom: later rules can re-include earlier exclusions — that is why the VS Code template excludes .vscode/* then re-includes !.vscode/settings.json. A trailing slash (build/) restricts matches to directories; * globs within a path segment, and patterns with a slash are anchored to the repository root. Combining templates is safe because this generator dedupes identical lines across stacks — picking Node + macOS + VS Code yields one clean file, not three copies of the same rules.
Template blocks overlap heavily; the builder keeps the first occurrence of each unique line.
Dev starts a TypeScript monorepo on a Mac with teammates on Windows, all using VS Code, deploying to Cloudflare.
Generate .gitignore files online free from 12 stack templates, merged with duplicates removed. Everything runs locally; nothing is uploaded.
FreeToolHub .gitignore Generator is a free browser-based tool — generate .gitignore files online free from 12 stack templates, merged with duplicates removed. No signup, no upload; everything runs locally in your browser.
Generate .gitignore files online free from 12 stack templates, merged with duplicates removed.
Every real project spans several ecosystems at once: a Next.js app on Windows in VS Code needs runtime ignores, OS junk filters, and editor noise exclusion simultaneously. Instead of copying one template and hand-adding the rest, pick all that apply and get a merged, deduplicated file in one shot.
The generator stacks Node, Python, Go, Rust, React, Next.js, Django, Cloudflare, macOS, Windows, VS Code, and JetBrains templates, then removes duplicate rules that overlap between them. The result is one clean .gitignore that reads like a human wrote it - because the deduplication is what a careful human would have done anyway.
A generated .gitignore is only half the job — the other half is keeping it honest as the project grows. Commit the file at the repo root immediately so every clone inherits it, and resist the temptation to add blanket entries like *.log without confirming your build pipeline does not produce artifacts someone needs. When a file is already tracked, adding it to .gitignore does nothing: git keeps tracking tracked files, so run git rm --cached on anything that slipped in before the ignore rule existed. Revisit the file when you add a new tool to the stack — each new runtime tends to bring its own cache and output directories — and prefer narrow patterns over wildcards so the ignore file documents intent instead of hiding accidents.
Start with your language runtime (Node, Python, Go, or Rust), add your framework if one applies (React, Next.js, Django), then add your editor (VS Code or JetBrains) and your OS (macOS or Windows). A typical web project uses four to five templates stacked together.
Templates overlap - Node, React, and Next.js all ignore node_modules, for example. The generator merges your selection into one file and removes duplicate rules, so you get a clean .gitignore without the repeated blocks that stacking raw templates would produce.
Yes, the runtime templates include .env patterns and common credential paths. But no generator can know the specific secrets of your project - always review the output before your first commit, and never rely on .gitignore alone as your only safeguard.
No. Ignore rules only affect untracked files — anything git already tracks stays tracked. To stop tracking a previously committed file, run git rm --cached path/to/file (which keeps it on disk), commit the removal, and the ignore rule takes effect from then on.
At the repository root for project-wide rules. Git also reads .gitignore files in subdirectories for folder-specific rules, and ~/.config/git/ignore (or ~/.gitignore_global) for personal rules like editor leftovers that should never enter any repo. This generator writes the root file — the one you commit and share.
What do you call a nosy pepper?
No signups, no data sold. Every tool is free to use — the free tier allows 5 downloads or saves per day, and the optional Pro plan ($7/mo, $59/yr) adds unlimited downloads, batch processing, white-label exports and an ad-free experience.
☕Support me on Ko-fi— support the free tier100% of proceeds go towards hosting & building more free tools.