Search tools

Find a tool by name or what it does.

.editorconfig Generator

Build a valid .editorconfig for your project. Set the indent style, size, line endings, charset, and whitespace rules, add per file overrides, then copy or download the file.

Base rules

These apply to every file through the [*] section.

Indent style

Optional. Width of a literal tab character in columns.

Line endings

Charset

Trailing whitespace

Final newline

File specific overrides

Add a [glob] section that changes only the rules you set for matching files.

Indent style

Line endings

Trailing whitespace

Final newline

Everything runs in your browser. Nothing is uploaded.

Generated .editorconfig

2 sections · 8 rules.

Save this as a file named .editorconfig in the root of your project.

How to create an .editorconfig file online

  1. Set the base rules

    Choose the indent style, indent size, line endings, charset, and whitespace rules that apply to every file.

  2. Add file overrides

    Add patterns like *.md or *.py and set only the rules that differ for those file types, or tap a preset.

  3. Copy or download

    Copy the generated .editorconfig or download it, then save the file in the root of your project.

Why use this tool

Every editorconfig option

Set indent style and size, tab width, line endings, charset, trailing whitespace, final newline, and max line length in one place.

Per file overrides

Add [glob] sections for patterns like *.md, *.py, or Makefile, and only the keys you change for that pattern are written.

Only writes what you set

Options you leave unset are left out of the file, so the output stays clean with no redundant keys and no noise.

One tap presets

Add tuned sections for Markdown, Python, YAML, JSON, Makefiles, and batch files without typing the patterns by hand.

Copy or download

Copy the file text or download a ready to use .editorconfig, always starting with root = true so editors stop searching parent folders.

Runs entirely in your browser

Everything happens on your device; nothing is uploaded.

About this tool

An .editorconfig file tells editors and IDEs how to format code in a project, so everyone on a team lands on the same indent style, line endings, and whitespace rules regardless of their personal settings. This generator builds that file for you. Pick the rules for the base [*] section that applies to every file, and the tool writes a valid .editorconfig with root = true at the top, updating instantly as you change any option.

Real projects need different rules for different files, so you can add [glob] override sections for patterns like *.md, *.py, {*.yml,*.yaml}, or Makefile. Each override only writes the keys you change, and everything else is inherited from the base section, which keeps the file short and readable. Quick presets add tuned sections for common file types in one tap. Supported keys include indent_style, indent_size, tab_width, end_of_line, charset, trim_trailing_whitespace, insert_final_newline, and max_line_length.

Save the result as a file named .editorconfig in the root of your repository and most modern editors will pick it up, some natively and others through a plugin. Options you leave unset are omitted, so the file never carries redundant keys. Once your code style is settled, pair it with a formatter like the JSON formatter or the CSS formatter to tidy existing files so they match.

Frequently asked questions

What is an .editorconfig file?
It is a small text file that defines coding style rules such as indent style, indent size, line endings, and whitespace handling. Editors that support it apply those rules automatically, so every contributor formats files the same way without changing their own settings.
Where do I put the generated file?
Save it as a file named .editorconfig in the root of your project or repository. Editors read it for every file below that folder. The tool always writes root = true at the top so editors stop looking in parent directories.
Which settings can I configure?
The base section supports indent_style, indent_size, tab_width, end_of_line, charset, trim_trailing_whitespace, insert_final_newline, and max_line_length. You can also add any number of file specific override sections, each targeting a glob pattern like *.md or *.py.
How do the per file overrides work?
Each override is a [glob] section that only lists the keys you want to change for matching files. Everything you do not set is inherited from the base [*] section, so an override for *.md might only turn off trailing whitespace trimming while keeping the rest.
Why are some options missing from the output?
By design. Any option you leave unset is left out of the file rather than written with a default value. This keeps the .editorconfig short and makes it clear which rules the project actually enforces.
Is my data uploaded anywhere?
No. Everything runs in your browser; nothing is sent to a server.

Related tools