EditorConfig Generator

Build a copy-ready .editorconfig visually. Set indentation, line endings, charset, and whitespace rules — then add per-file-pattern overrides for Markdown, Makefiles, YAML, and more.

Presets

Global defaults [*]

Per-file overrides

3
Quick add:

Generated .editorconfig

Save as .editorconfig at your project root and commit it.

# EditorConfig is awesome: https://EditorConfig.org

# top-most EditorConfig file
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

About EditorConfig Generator

The EditorConfig Generator is a free online tool that builds a copy-ready .editorconfig file from a simple form. Instead of remembering property names and glob syntax, you set your defaults, add a few per-file overrides, and the tool emits a valid file you can drop at your project root and commit.

EditorConfig is an open standard supported by most modern editors and IDEs. It keeps indentation, line endings, character set, and whitespace rules consistent across an entire team — regardless of operating system or editor — which means cleaner diffs, fewer "fixed whitespace" commits, and no more tabs-versus-spaces arguments. This generator covers every core property — indent_style, indent_size, tab_width, end_of_line, charset, trim_trailing_whitespace, insert_final_newline, and max_line_length — plus unlimited per-pattern override sections.

Everything runs locally in your browser. Your patterns and settings are never sent to a server. It complements the .gitignore Generator and other project-config tools for setting up a new repository.

How to Use EditorConfig Generator

  1. 1. Pick a preset (Frontend, Python, Go, .NET, Tabs, or Minimal) to load sensible defaults — or configure from scratch.
  2. 2. Set the global defaults in the [*] section: indent style and size, line endings, charset, and whitespace rules. Leave any property as (unset) to omit it.
  3. 3. Add per-file overrides with the Quick add buttons (Markdown, Makefile, YAML, JSON, Go, Batch) or a custom pattern like *.{js,ts}.
  4. 4. In each override, only the fields you change are written — leave the rest as to inherit from [*].
  5. 5. Keep root = true enabled for your top-level file so parent-folder configs don't leak in.
  6. 6. Click Copy, save as .editorconfig at your repo root, and commit it so the whole team shares the same rules.

Common Use Cases

Onboarding a new repo

Drop in a .editorconfig so every contributor's editor formats consistently from their first commit — no setup docs needed.

Ending tabs vs spaces debates

Encode the team decision once. Editors enforce it automatically, so code reviews stop arguing about indentation.

Cross-platform teams

Pin end_of_line = lf so Windows, macOS, and Linux contributors stop flipping CRLF/LF and creating noisy diffs.

Markdown & Makefiles

Override the global rules where they break things — keep trailing spaces in Markdown and real tabs in Makefiles.

Monorepos

A root .editorconfig with nested overrides per package keeps a polyglot monorepo consistent across languages.

Polyglot backends

Different indent sizes for Python (4), YAML (2), and Go (tabs) all live in one file with per-pattern sections.

Frequently Asked Questions