EditorConfig Generator
Generate a .editorconfig file from indent style, indent size, end-of-line, charset, and trailing-whitespace settings, plus optional per-language override blocks for Markdown, YAML, JSON, Python, Go, PHP, and more.
Input
Global Defaults ([*])
Columns per indent level. Leave empty to unset.
Visual width of a tab. Defaults to indent_size when left empty.
Enter 0 or leave empty to omit. Common values: 80, 100, 120.
Language Overrides
Toggle common per-language sections. Each adds a matching [pattern] block after the global defaults.
Output
Guides
An .editorconfig file keeps indentation, line endings, and character encoding consistent for everyone who touches a codebase — regardless of which editor or IDE they use. This generator builds one for you from a few plain settings, so you never have to memorize the syntax or hunt for a template.
Pick your global defaults, toggle any per-language override blocks you need, and copy or download the finished file. Drop it at the root of your repository as .editorconfig and supported editors pick it up automatically.
How to use it
- Set the global defaults under
[*]— indent style (spaces or tabs), indent size, end-of-line character, charset, and whether to trim trailing whitespace and insert a final newline. - Optionally set a max line length, or leave it at
0to omit the key entirely. - Toggle any language override blocks. Each adds a
[pattern]section after the defaults — for example,[*.md]to preserve trailing whitespace for Markdown hard line breaks, or[Makefile]to force tab indentation. - Copy the result or download it straight to
.editorconfig.
The output updates live as you change options, so you can see exactly how each toggle affects the file.
What is EditorConfig?
EditorConfig is an open standard supported natively by editors like VS Code, IntelliJ, Vim, and many others (some need a small plugin). A single .editorconfig file at your project root defines formatting rules that every contributor's editor obeys, ending the "spaces vs. tabs" and mixed-line-ending arguments in code review.
Should I use spaces or tabs?
It depends on the language and your team's convention. Python (PEP 8), Ruby, and most web code lean toward spaces; Go and Makefiles require tabs. This tool ships sensible per-language override blocks for exactly these cases, so you can set a global default and override only where a language demands it.
What does root = true mean?
EditorConfig searches parent directories for more .editorconfig files until it finds one marked root = true. Placing that line in your top-level file stops the search there, so settings from directories above your project can't leak in. This generator always includes it.
Why is max_line_length sometimes omitted?
A value of 0 (or a blank field) means "no limit", so the generator leaves the key out entirely rather than writing a meaningless 0. Set a real value like 80, 100, or 120 to enforce a wrap guide.
Does the header comment matter?
No — the # EditorConfig is awesome header is purely informational and safe to keep or remove with the checkbox. It has no effect on how editors read the file.
Privacy
This generator runs entirely in your browser. Your settings never leave your device — nothing is uploaded, logged, or stored on a server. You can even use it offline once the page has loaded.