.gitignore Generator
Build a merged, deduped .gitignore by checking off any combination of language, editor, and OS templates (Node, Python, VS Code, macOS, and more).
Templates
Languages & Frameworks
Editors & IDEs
Operating Systems
Other
Browsers won't save a download with a name that starts with a dot, so the file saves as "gitignore"; rename it to ".gitignore" after saving (copying instead avoids this, since you paste directly into a file you name yourself).
Common Use Cases
About .gitignore Generator
A project's .gitignore file tells Git which files and folders it should never track: build output, dependency directories, local environment files, and the assorted clutter your editor or operating system drops into a project folder. Getting a good one usually means hunting down and pasting together several different templates: one for your language or framework, one for your editor, one for your OS. This generator does that merging for you.
Check off any combination of templates from the categories below: Languages & Frameworks (Node, Python, Java, Go, Rust, Ruby, PHP, C/C++, .NET, Android), Editors & IDEs (VS Code, IntelliJ IDEA/JetBrains, Sublime Text, Vim), Operating Systems (macOS, Windows, Linux), and a general Git template, and the output panel builds a single combined .gitignore live, in the order shown above. Every selected template gets its own labeled section, and any pattern line that already appeared in an earlier section (for example ".env" showing up in both the Node and PHP templates, or ".DS_Store" showing up in both the macOS and VS Code templates) is only kept once, so the result never repeats itself.
This is meant to cover the common case quickly, not to replace github/gitignore's full template collection for every possible framework or tool. If you need a stack that isn't listed, add its patterns to the generated file by hand afterward, or start from the closest match here.
Once you're happy with the result, copy it to your clipboard, or download it; browsers won't let a downloaded file's name start with a dot, so it saves as a plain file named "gitignore" that you rename to ".gitignore" afterward; copying and pasting into a file you create and name yourself sidesteps that entirely. Everything, from the templates to the merging and deduping, runs as plain JavaScript in your browser tab; nothing you select or generate is ever uploaded to a server, logged, or stored.
Frequently Asked Questions
How does the tool avoid duplicate lines when I select several templates?
Why does the downloaded file get named "gitignore" instead of ".gitignore"?
Can I select more than one template at a time?
Does the order I click the checkboxes change the output?
What if my language or tool isn't in the list?
Is anything I select or generate sent anywhere?
Related Tools
View all Generators.htaccess Generator
Assemble a working Apache .htaccess file by checking off common recipes: force HTTPS, www redirects, gzip compression, browser caching, and a custom 404 page.
robots.txt Generator
Build a robots.txt file with per-bot allow/disallow rules, a sitemap URL, and one-click presets for Googlebot, GPTBot, and other common crawlers.
Meta Tag Generator
Build title, description, Open Graph, and Twitter Card meta tags from a simple form, with a live preview of how the link looks shared on X, Facebook, and Slack.