Generate .gitignore files for any project. Pre-built templates for Node.js, Python, React, Java, Go, Rust, and 50+ more technologies.
Pick your languages, frameworks, and IDEs, and get a ready-to-use .gitignore file. Covers common patterns for Node.js, Python, Java, Go, Rust, .NET, and dozens of editors and operating systems.
Initializing in your browser…
Generate realistic fake data for testing and development. Create names, usernames, emails, addresses, phone numbers, and more. Export to JSON or CSV format
Generate ultra-secure passwords with presets (Simple to Paranoid), strength analysis, entropy calculation, crack time estimation, password history, and bulk generation
Create stunning CSS gradients with linear/radial/conic types, angle control, position control, multiple color stops, 11 presets, and reverse/randomize features
You start a new Node project on macOS and want a correct .gitignore instead of copy-pasting a stale Gist.
Stacks selected
Node + macOS + VS Code
Generated .gitignore
# Node node_modules/ npm-debug.log* .env dist/ # macOS .DS_Store .AppleDouble # VS Code .vscode/* !.vscode/extensions.json
The output is composed from the maintained github/gitignore templates for each stack you pick, so it includes the non-obvious entries, like the `!.vscode/extensions.json` negation that keeps recommended-extensions shareable while ignoring personal editor settings, that hand-written lists usually miss.
Pick your languages, frameworks, and IDEs, and get a ready-to-use .gitignore file. Covers common patterns for Node.js, Python, Java, Go, Rust, .NET, and dozens of editors and operating systems.
This is a template-assembly tool: it ships 52 hand-curated .gitignore blocks grouped into categories (JavaScript, Python, Java/JVM, Go, Rust, C/C++, Ruby, PHP, Mobile, DevOps, Data Science, Other Languages, IDE, and OS) and concatenates the ones you pick into a single file. You select stacks by toggling chips, and the output is built by stacking each template's content under an uppercased banner comment (e.g. # ========= / # NODE.JS / # =========), preceded by a header that credits the generator and links back to loopaloo.com/tools/gitignore-generator. Selection is order-preserving and not deduplicated, so combining, say, Node.js and Next.js will list node_modules/ in both blocks rather than merging them. A free-form Custom Rules textarea is appended verbatim under a final # CUSTOM RULES banner.
Six one-click presets compose common stacks for you: Modern Frontend (node, nextjs, vscode, macos), Python Backend (python, django, docker, vscode, macos), Full Stack JS (node, react, docker, vscode, macos), Mobile App (reactnative, android, ios, vscode, macos), DevOps (terraform, docker, kubernetes, ansible, vscode), and Data Science (python, jupyter, datascience, vscode, macos). A search box filters templates by name, category, or id, and a Popular toggle narrows the list to the starred entries (Node.js, React, Next.js, Vue, Python, Django, Java, Go, Rust, Rails, Laravel, Android, React Native, Terraform). The templates themselves encode real Git negation patterns rather than blanket ignores - for example the Node block does .vscode/* then re-includes !.vscode/settings.json and !.vscode/extensions.json, and uses .env.* with !.env.example; similarly Android keeps !debug.keystore, iOS keeps !Podfile.lock, Gradle keeps !gradle/wrapper/gradle-wrapper.jar, and Maven keeps !.mvn/wrapper/maven-wrapper.jar so the build wrapper stays committed.
Several templates deliberately ship optional lines commented out so you can opt in: the Node, Go, Poetry, and Data Science blocks leave package-lock.json/yarn.lock, vendor/, poetry.lock, and data files like # *.csv, # *.parquet, # models/ as # comments to uncomment if your project wants them ignored. Everything runs entirely in the browser - Copy writes the assembled text to the clipboard, Download creates a Blob and saves it as a file literally named .gitignore, and Clear empties the selection and custom rules. Your current selection and the Popular toggle are encoded into the page URL (templates as a comma-separated list of ids), so the Share button produces a link that reproduces the exact same set of templates for a teammate without any server-side storage.
Generate a comprehensive .gitignore before your first commit so build artifacts and editor files never enter the repo.
Combine patterns for multiple languages and tools into a single .gitignore.
Compare your current .gitignore against the recommended patterns for your stack to catch missing entries.
In the root of your repository. You can also place additional .gitignore files in subdirectories to override patterns for that subtree.
Adding it to .gitignore won't remove it from tracking. Run "git rm --cached <file>" first, then commit.
This runs as client-side JavaScript. Keys, tokens, payloads, and other inputs never leave your device.