.gitignore Generator
🔒 Runs in your browser
How the merge works
Tick any combination of languages, frameworks, editors and operating systems and the tool
composes one .gitignore from the bundled templates. Each template keeps its own
### Name ### section header, but a pattern line that already appeared in an earlier
section — for example bin/ showing up in both a C#/.NET and a Visual Studio
template — is written only once, so the result stays short and readable instead of repeating
the same rule under every heading.
What is bundled, and what is not
Every template is bundled with the tool itself — nothing is fetched over the network, so it
works offline and never sees your project. The set covers common languages and frameworks
(Node, Python, Java, Go, Rust, C, C++, C#/.NET, Ruby, PHP, Swift, Android/Kotlin, Terraform,
Docker), the three most common editor/IDE footprints (VS Code, Visual Studio, JetBrains IDEs)
and the three desktop operating systems (macOS, Windows, Linux). Copy the result or download it
directly as .gitignore and drop it in your repository root.
Adding your own patterns
Type a file or folder name under Custom patterns, pick File or
Folder, and press Add (or Enter). A folder gets a trailing
/ so Git ignores the whole directory; a file is added exactly as typed. Custom
entries land in their own ### Custom ### section and are deduplicated against the
templates you selected, same as everything else.
Frequently asked questions
Which templates are included?
20 curated templates covering common languages and frameworks (Node, Python, Java, Go, Rust, C, C++, C#/.NET, Ruby, PHP, Swift, Android/Kotlin, Terraform, Docker), the three most common editor/IDE footprints, and macOS, Windows and Linux — all bundled with the tool, no network request.
What happens with a rule two templates share?
A pattern line is written only once. If, say, both a Visual Studio and a C#/.NET template ignore bin/, it appears under whichever section you selected first and is skipped in the rest, so the merged file stays short.
Where do I put the generated file?
Copy it, or use Download to save it as .gitignore, then place the file in your repository's root folder before your next commit — Git ignores every path it lists from that point on.