BYTETOOLS

.gitignore Generator

Build a .gitignore file by selecting your stack — Node, Python, Java, Go, Rust, Unity, macOS, Windows, IDEs — merged, de-duplicated and ready to download.

Languages & frameworks

Environments

Operating systems

Editors

3
Templates selected
36
Ignore patterns

.gitignore

# Generated with ByteTools .gitignore Generator

# ---------- Node ----------
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
.npm
.yarn/cache
.pnp.*
dist/
build/
coverage/
*.tsbuildinfo
.next/
.nuxt/
.cache/
.env
.env.local
.env.*.local

# ---------- macOS ----------
.DS_Store
.AppleDouble
.LSOverride
._*
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns

# ---------- VS Code ----------
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
.history/

What is the .gitignore Generator?

The ByteTools . gitignore Generator assembles a complete .

  • 14 curated templates: Node, Python, Java, Go, Rust, PHP/Laravel, .NET, Unity, macOS, Windows, Linux, JetBrains, VS Code and Vim
  • Automatic de-duplication of patterns shared between templates
  • Labelled section comments so the file stays maintainable
  • One-click copy or direct .gitignore download
  • Templates embedded in the page — works fully offline
  • 100% client-side — no API calls

How to use the .gitignore Generator

  1. 1

    Tick every language, framework, OS and editor that applies to your project.

  2. 2

    Review the merged .gitignore preview with its labelled sections.

  3. 3

    Copy the contents or download the file.

  4. 4

    Place it in the root of your repository as .gitignore and commit it.

About the .gitignore Generator

The ByteTools .gitignore Generator assembles a complete .gitignore file from curated templates. Tick the technologies in your project — languages like Node, Python, Java, Go, Rust, PHP/Laravel and .NET, environments like Unity, plus operating systems and editors — and the tool merges them into one clean file.

Each selected template is added under a labelled section comment, and duplicate patterns that appear in several templates (like build/ or dist/) are automatically de-duplicated so the file stays tidy. The templates are curated from widely used community conventions and embedded in the page — nothing is fetched from any API.

Generation is instant and entirely local to your browser. Copy the result or download it directly as a .gitignore file for the root of your repository.

Frequently asked questions

What is a .gitignore file?

It is a plain-text file in your repository that lists path patterns Git should not track — build output, dependencies, editor settings and OS junk files. Anything matching a pattern is left out of git status and never committed by accident.

Which templates should I combine?

Pick one template per language or framework in the project, then add your operating system (macOS, Windows or Linux) and your editor (JetBrains, VS Code, Vim). A typical web project might combine Node, macOS and VS Code.

Does .gitignore affect files that are already committed?

No — Git keeps tracking files it already knows about. To stop tracking a committed file, run git rm --cached <file> (which keeps it on disk), commit that change, and the ignore rule takes effect from then on.

What do the pattern symbols mean?

A trailing slash (build/) matches a directory, * matches anything except a slash, ** matches across directories, and a leading ! re-includes something a previous pattern excluded — which is how the VS Code template keeps settings.json while ignoring the rest of .vscode.

Should I commit the .gitignore file itself?

Yes. It belongs in the repository root and is shared with everyone who clones the project, so the whole team ignores the same files. Personal, machine-specific ignores can go in .git/info/exclude instead.

Why is node_modules ignored but package-lock.json kept?

node_modules can be rebuilt exactly from the lockfile with npm install, so committing it only bloats the repo. The lockfile is the small, reviewable record of your dependency tree — it should be committed.

Related tools