Gitignore generator

Tick your stack, get a clean .gitignore — no button, no upload.

Add your own ignore patterns

How to use it

  1. Tick the templates that match your stack — a language (Node, Python), your OS (macOS, Windows), your editor (VS Code, IntelliJ) and your cloud host. The .gitignore is built and de-duplicated as you tick, there is no button to press.
  2. Use the search box to jump to a template by name, or the category chips to narrow the list. Ticking and unticking is instant.
  3. When the result looks right, hit “Copy” to take it away or “Download .gitignore” to save the file. Open the “Add your own ignore patterns” box to append project-specific lines — they are merged and de-duplicated too.

Example

Selection

Ticked: Node, Python

.gitignore

### Node ###
node_modules/
dist/
*.log
.env

### Python ###
__pycache__/
*.py[cod]
.env

The example ticks Node and Python. Both templates contain “*.log” and “.env”, but the combined file keeps each line only once because lines are de-duplicated in the order they appear. Count shows “Selected: 2”.

Rules, limits and known issues

  • Templates are bundled into the page (about 44 of the most common languages, frameworks, OSes, editors and cloud hosts) — nothing is fetched over the network and nothing is uploaded.
  • Combining de-duplicates every line in order: if two templates ignore the same thing (for example “*.log” in both Node and Python), it appears only once, near where it first occurred.
  • Template names and comments stay exactly as Git expects them (Node, macOS, “# Logs”…) — they are a cross-language standard, so they are not translated. Only the interface is localized.
  • The “Add your own ignore patterns” box is merged into the same de-duplication set, so a line you type that a template already has will not be repeated.
  • No full 400+ template library: only the highest-frequency entries are included. For rare stacks, copy the official template from the GitHub gitignore repository. Templates update with each site release, not live.
  • Custom patterns are not syntax-checked — anything you type is pasted as-is; Git itself reports invalid patterns. No accounts, no history, no shareable selection: the share link carries no choices.

What people usually need next, once the file is ready.