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
3Generated .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. Pick a preset (Frontend, Python, Go, .NET, Tabs, or Minimal) to load sensible defaults — or configure from scratch.
- 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. Add per-file overrides with the Quick add buttons (Markdown, Makefile, YAML, JSON, Go, Batch) or a custom pattern like
*.{js,ts}. - 4. In each override, only the fields you change are written — leave the rest as — to inherit from
[*]. - 5. Keep
root = trueenabled for your top-level file so parent-folder configs don't leak in. - 6. Click Copy, save as
.editorconfigat 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.