Skip to main content

.editorconfig Generator — indent, charset, line endings, per-glob overrides

Visual .editorconfig builder — indent, charset, line endings, trailing whitespace, per-glob overrides — browser-only

  • Runs locally
  • Category Developer & DevOps
  • Best for Checking file type, size, metadata, and obvious mismatch signals before sharing.
Glob pattern
indent_style
indent_size
charset
end_of_line
insert_final_newline
trim_trailing_whitespace
max_line_length
root = true

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

What this tool does

A visual builder for the .editorconfig file every editor reads to keep indentation, charset, and line endings consistent across a whole team. Set the global `[*]` section once — indent_style (space/tab), indent_size, charset, end_of_line (lf/crlf/cr), insert_final_newline, trim_trailing_whitespace, max_line_length — then add per-glob override sections like `[*.md]` to turn trailing-whitespace trimming off (Markdown uses two trailing spaces for hard breaks) or `[*.{js,ts}]` to force two spaces. Toggle `root = true` so EditorConfig stops walking up parent directories. Pick a language preset (Python 4-space, Go tabs, web 2-space, Makefile tabs) to seed sane sections, then tweak. The output panel mirrors the exact file your editor will read — copy it or download it straight to your repo root as `.editorconfig`. Every keystroke renders client-side; no file leaves your browser, and the config is encoded in the URL so a "share link" reproduces the same setup for a teammate. Works with VS Code, JetBrains IDEs, Vim, Sublime, and any editor with an EditorConfig plugin.

Tool details

Input
Text + Numbers
The page exposes text boxes, numeric controls, file pickers, or structured inputs depending on the tool.
Output
Live result + Copy + Download
The result area focuses on usable output, with copy, download, or preview actions when supported.
Privacy
Browser-side processing
The main tool logic does not call an external API, so inputs normally stay in the current tab.
Save / share
Shareable URL state
Key settings are encoded in the URL so another person can reopen the same setup.
Performance budget
Initial JS <= 10 KB
No WASM budget is declared, keeping the tool quick to open on mobile.
Best fit
Developer & DevOps · Developer
Category and role tags drive related tools, internal links, and quick fit checks.

How to use

  1. 1. Input

    Paste or drop your content into the tool panel.

  2. 2. Process

    Click the button. All processing is local in your browser.

  3. 3. Copy / Download

    Copy the result or download to disk in one click.

How .editorconfig Generator fits into your work

Use it before upload, handoff, archive, support review, or any moment where a file needs one local check before it leaves your machine.

File jobs

  • Checking file type, size, metadata, and obvious mismatch signals before sharing.
  • Preparing mixed folders for upload, archive, intake, or review.
  • Keeping sensitive files in the browser instead of sending them to an account-based service.

File checks

  • Do not treat the extension alone as proof of the real file type.
  • Review metadata before a file goes to customers, vendors, or a public page.
  • Keep the original file until the copied, converted, or exported result is verified.

Good next steps

These links move the current task into a more complete workflow.

  1. 1 .gitignore Generator Pick your stack — Node, Python, Go, Docker, macOS, VS Code — and get a deduped, sectioned .gitignore. Browser-only. Open
  2. 2 .htaccess Generator Generate Apache .htaccess — HTTPS redirect, www toggle, gzip, cache headers, hotlink protection. Open
  3. 3 robots.txt Generator Generate robots.txt with templates for common crawlers (Google, Bing, AI scrapers). Open

Real-world use cases

  • Stop the tabs-vs-spaces diff churn on a shared repo

    Two devs on the same Python repo — one editor on tabs, one on 4 spaces — and every PR turns into a whitespace-only diff that buries the real change. Drop a `.editorconfig` at the repo root with `[*]` set to `indent_style = space`, `indent_size = 4`, commit it, and both editors snap to the same indentation the moment anyone opens a file. Reviewers stop scrolling past phantom diffs. Build this in 30 seconds: pick the Python preset, confirm 4-space, copy, paste into `.editorconfig`, push.

  • Keep CRLF off a cross-platform team

    A Windows contributor commits a file and suddenly every line shows as changed because their editor wrote CRLF where the Linux team uses LF. Set `end_of_line = lf` in the global `[*]` section and `insert_final_newline = true`, and every editor with the EditorConfig plugin normalises line endings on save — before Git ever sees the file. Pair it with `* text=auto eol=lf` in `.gitattributes` for the belt-and-suspenders version, but the `.editorconfig` is what fixes it inside the editor itself.

  • Turn off trailing-whitespace trimming for Markdown only

    Your global rule trims trailing whitespace — correct for code, wrong for Markdown, where two trailing spaces mean a hard line break. Add a `[*.md]` override section with `trim_trailing_whitespace = false` and your prose keeps its line breaks while every `.js` and `.py` file still gets cleaned. This is the canonical EditorConfig override and the reason per-glob sections exist; this generator ships it as a one-click preset.

  • Match a Makefile's hard tab requirement

    Makefiles break if recipe lines start with spaces — GNU Make demands a literal tab. If your global config forces spaces, every Makefile you touch silently corrupts. Add `[Makefile]` and `[*.mk]` sections with `indent_style = tab` so the editor inserts real tabs there while the rest of the repo stays on spaces. The Makefile preset here wires this for you; without it the failure is invisible until `make` errors with "missing separator".

  • Onboard a contributor with zero setup instructions

    An open-source contributor clones your repo in an editor you've never heard of. Instead of a CONTRIBUTING.md paragraph about indentation they'll skim past, the `.editorconfig` at your repo root configures their editor automatically the first time they open a file — assuming their editor has the (near-universal) plugin. Generate the file once, commit it, and the indentation/charset/line-ending policy travels with the repo for every future contributor, no docs required.

Common pitfalls

  • Putting a narrow glob like `[*.md]` above the global `[*]` section. EditorConfig applies later sections last, so a broad `[*]` placed after your override will clobber it. Keep `[*]` first and narrow globs below — this generator always emits them in that order.

  • Forgetting `root = true` at the top. Without it, EditorConfig keeps walking up parent directories and merges any `.editorconfig` it finds — including a stray one in your home folder or a monorepo parent — so settings you never wrote can leak in. Set it on your project's top-level file.

  • Writing `indent_size = 2` but leaving `indent_style = tab`. With tabs, `indent_size` only affects how wide a tab is *displayed*; it does not insert spaces. If you actually want two-space indentation, set `indent_style = space` as well, or your file still indents with tabs.

Privacy

The whole generator is plain JavaScript running in your browser tab. The sections you configure, the globs you type, and the file you download never touch a server — there is no upload, no logging of what you built, no analytics on your project's indentation policy. One caveat to know: the current config is encoded into the URL query string so a "share link" reproduces it for a teammate, which means whatever you put in a glob pattern (e.g. an internal path or filename) lands in the URL and, if you paste that link into Slack or a ticket, in the destination's access log. Glob patterns are normally generic (`*.md`, `*.{js,ts}`) so this is rarely sensitive, but copy the file by hand rather than sharing the URL if a glob reveals something private about your repo layout.

FAQ

Tool combos

Folks in your role tend to reach for these alongside this tool.

Made by Toolora · 100% client-side · Updated 2026-06-13