Zero Signup ToolsFree browser tools

Developer Tools

Gitignore Generator

Generate a clean .gitignore file from curated templates for Node, Python, Next.js, Django, Go, Rails, VS Code, JetBrains, macOS, Windows, and more.

Gitignore generator

Quick stacks

Start from a real project

Templates

Pick the parts of your stack

6 of 48 selected

Languages

Core language toolchains: compiled artifacts, bytecode, package caches.

Frameworks

Application frameworks and meta-frameworks with their own build folders.

Runtimes

Server-side runtimes and their per-project artifacts.

Build tools

Bundlers, monorepo tools, and CSS toolchains.

Editors and IDEs

Per-user editor metadata most teams do not want to share.

Operating systems

Hidden files macOS, Windows, and Linux drop into project folders.

Misc

Environment files, logs, infra, and secrets.

Custom rules

Project-specific lines

Add any patterns specific to your project. One per line. Standard .gitignore syntax: prefix with ! to un-ignore, end with / for a directory, use * as a glob.

Output options

How the file is formatted

Output

Your .gitignore

93 lines, 59 ignore rules

# Generated with Zero Signup Tools (zerosignuptools)
# https://zerosignuptools.com/tools/gitignore-generator
# Edit freely. Add or remove sections to suit the project.

# ============================================================
# Node.js
# node_modules, npm/yarn caches, coverage, dist.
# ============================================================
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
.pnpm-store/
.npm/
coverage/
.nyc_output/
dist/
build/
*.tgz
.cache/
.parcel-cache/

# ============================================================
# Next.js
# .next, turbo cache, build artifacts.
# ============================================================
.next/
out/
.vercel/
.turbo/
next-env.d.ts
.swc/

# ============================================================
# Visual Studio Code
# Per-user VS Code metadata, history, settings.
# ============================================================
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
.history/
*.vsix

# ============================================================
# macOS
# .DS_Store and macOS metadata.
# ============================================================
.DS_Store
.AppleDouble
.LSOverride
Icon

._*
.Spotlight-V100
.Trashes
.fseventsd/
.DocumentRevisions-V100/
.TemporaryItems/
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

# ============================================================
# Environment files (.env)
# Local .env and dotenv per-environment files.
# ============================================================
.env
.env.local
.env.*.local
.env.development
.env.test
.env.production
.env.staging
.env.backup

# ============================================================
# Log files
# Wildcard log patterns and runtime crash dumps.
# ============================================================
logs/
*.log
lerna-debug.log*
core.*
*.heapprofile
*.cpuprofile

.gitignore syntax cheat sheet

  • filename ignores that name anywhere in the repo.
  • /filename ignores the file only at the repo root.
  • folder/ ignores a directory and everything inside it.
  • *.log matches any file ending in .log.
  • **/build matches build at any depth.
  • !keep.log un-ignores a file that an earlier rule excluded.
  • # comment documents a rule. Comments are ignored by Git.

Things to remember

  • .gitignore only affects untracked files. To stop tracking a file already in the repo run git rm --cached first.
  • Commit your .gitignore. It belongs in source control so every contributor uses the same rules.
  • Order matters: a later ! rule can re-include something an earlier rule excluded, but you cannot un-ignore a file inside an ignored directory.
  • Per-user editor rules (your personal .vscode/ setup) often belong in your global gitignore, set with git config --global core.excludesFile.

How to use

  1. Pick a quick stack (Next.js project, Python and Django, Node and Express, Rails, React and Vite, or Go service) to seed sensible defaults, or start from scratch by selecting templates one by one.
  2. Browse templates by group (Languages, Frameworks, Runtimes, Build tools, Editors, OS, Misc) or filter with the search box. Tick every part of your stack that applies.
  3. Add any project-specific patterns to Custom rules using standard .gitignore syntax (use ! to un-ignore, trailing / for directories, * and ** for globs).
  4. Toggle Output options to control the header banner, section headers, and deduplication of identical rules.
  5. Click Copy to copy the .gitignore to your clipboard, or Download .gitignore to save the file straight into the repo root.

About this tool

Gitignore Generator builds a clean, deduplicated .gitignore file for any project in the browser. Pick the parts of your stack from curated templates for languages (Node, Python, Java, Go, Ruby, Rust, PHP, C#, Swift, Kotlin, Dart, Elixir, Scala, C/C++), frameworks (Next.js, React, Vue, Angular, Svelte, Nuxt, Django, Flask, Rails, Laravel, Spring Boot, Express), runtimes (Deno, Bun), build tools (Webpack, Vite, Parcel, Turborepo, Tailwind, Yarn Berry, pnpm), editors (VS Code, JetBrains, Vim, Emacs, Sublime), operating systems (macOS, Windows, Linux), and miscellaneous concerns (.env files, log files, Docker, Terraform, secrets and keys). Each template is hand-curated to widely accepted community defaults so the resulting file matches what teams actually commit. Quick stacks seed common combinations in one click for a Next.js project, a Python or Django app, a Node and Express API, a Rails app, a React and Vite frontend, or a Go service. Section headers label every block so the file stays readable, and a deduplication pass keeps duplicate rules (like dist/ shared across bundlers) to a single occurrence while preserving comments and blank lines. A custom rules textarea takes any project-specific patterns using standard .gitignore syntax: ! to un-ignore, trailing / for directories, * and ** for globs, # for comments. The output panel shows the full file with live line and rule counts and offers both copy and download buttons. Everything runs locally in your browser, so your custom rules and selections never leave your device. Useful for spinning up a new repo, refreshing a stale .gitignore that misses a tool you just added, sanity-checking what to ignore for a stack you have not used in a while, or generating the per-user pieces you want in a global gitignore set through git config core.excludesFile.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsDeveloper Tools