.gitignore Generator
Curated `.gitignore` snippets for the things you actually run into: Node, Python, Java, Go, Rust, PHP, Ruby; Next.js, Astro, Vite, Django, Rails, Spring, Flutter; VS Code, JetBrains, Sublime, Vim, Emacs; macOS, Windows, Linux. Pick what applies and the tool stitches them together with section headers — no duplicates, ready to commit.
Languages
Frameworks
Editors
Operating systems
# Node.js node_modules/ npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-debug.log* .npm/ .yarn/ .pnp.* dist/ build/ .env .env.local .env.*.local # macOS .DS_Store .AppleDouble .LSOverride Icon ._* .DocumentRevisions-V100 .fseventsd .Spotlight-V100 .TemporaryItems .Trashes .VolumeIcon.icns .com.apple.timemachine.donotpresent # VS Code .vscode/* !.vscode/settings.json !.vscode/tasks.json !.vscode/launch.json !.vscode/extensions.json *.code-workspace .history/
Snippets are curated from github/gitignore's templates and condensed to the lines projects actually use.
How to use
- Click the preset chips that match your project.
- Read the assembled `.gitignore` in the preview.
- Copy and paste into a `.gitignore` at the root of your repo.
Frequently asked questions
- Why not just install github/gitignore?
- Those templates are excellent but each is its own file. For a single repo you usually want a hand-picked combination of three or four — that's what this tool lets you assemble quickly.
- Will this miss things specific to my setup?
- Probably some — secret config files, local caches, build outputs of niche tools. Treat the output as a baseline and add a `# Local` section at the bottom for anything else.
- I added a file to .gitignore but git still tracks it — why?
- Ignore rules only apply to files git is not already tracking. Once a file is in the index, git keeps recording changes to it no matter what the ignore file says. Remove it from tracking first (git rm --cached path, which leaves the file on disk) and commit that removal; from then on the rule takes effect.
- How do I make an exception inside an ignored folder?
- Later rules override earlier ones, so a negation pattern can re-include something an earlier rule excluded — but not if one of its parent directories is excluded, because git never looks inside an ignored directory. Exclude the contents rather than the directory itself when you need an exception below it.
Related tools
JSON to Python Dataclass Converter
Turn a JSON object into Python @dataclass definitions with type hints, in your browser.
Conventional Commit Message Builder
Build a Conventional Commits message with type, scope, breaking change, and footers, in your browser.
CSS Grid Playground
Visually pick grid-template-columns / rows, gap, and item alignment — copy the CSS straight into your project.
Hash Generator (SHA)
Generate SHA-1, SHA-256, SHA-384, and SHA-512 hashes from text.
UUID Generator
Generate random version-4 UUIDs in bulk, with copy.
JSON → TypeScript Interface
Generate TypeScript interfaces from any JSON sample — types are inferred recursively and named after each key.