Format and validate INI / TOML-like config — sort sections, align equal signs.
- Runs locally
- Category Format Converter
- Best for Turning pasted content or local files into a handoff-friendly format.
Formatted output appears here.What this tool does
A no-dependency INI / config-file formatter that runs entirely in your browser. Paste any `.ini`, `.cfg`, `.conf`, `.properties`, or systemd-unit-style file and get clean, deterministic output. Optional "Align equals" lines up the `=` column inside each section so keys read like a table; optional "Sort sections" reorders section headers alphabetically while keeping the implicit root section first. Both `;` and `#` line comments are preserved in place — above the section they belong to, or trailing on the same line as a key. Multi-line values terminated with `\` are joined and re-emitted. The validator reports unclosed `[section]` headers and duplicate keys within the same section with the exact line number. A Minify mode strips every comment and blank line for transport. 100% client-side — database connection strings, API tokens, and CI secrets never leave the tab.
Tool details
- Input
- Text
- 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
- No account required
- Open the page and use it; whether results survive refresh depends on the tool.
- Performance budget
- Initial JS <= 18 KB
- No WASM budget is declared, keeping the tool quick to open on mobile.
- Best fit
- Format Converter · Developer
- Category and role tags drive related tools, internal links, and quick fit checks.
How to use
-
1. Input
Paste or drop your content into the tool panel.
-
2. Process
Click the button. All processing is local in your browser.
-
3. Copy / Download
Copy the result or download to disk in one click.
How INI Formatter & Validator fits into your work
Use it when the main problem is getting content from one practical format into another.
Conversion jobs
- Turning pasted content or local files into a handoff-friendly format.
- Previewing a conversion before you use it in a larger workflow.
- Cleaning small format mismatches without opening a full editor.
Conversion checks
- Try a small sample first when the source format is messy.
- Check character encoding, separators, and line endings after conversion.
- Keep the source until the converted output has been reviewed.
Good next steps
These links move the current task into a more complete workflow.
- 1 JSON Formatter & Validator Format, validate, and minify JSON instantly — right in your browser. Open
- 2 XML Formatter & Validator Pretty-print, minify, and validate XML in your browser — preserves CDATA, comments, and namespaces. Open
- 3 SQL Formatter Format and beautify SQL — supports MySQL, PostgreSQL, BigQuery, SQLite and 17 more dialects. Open
Real-world use cases
Make an inherited 200-line php.ini reviewable before a PR
You took over a legacy PHP service and the `php.ini` has 200 lines with keys randomly indented and comments scattered. Paste it, turn on Align equals, and every `memory_limit = 256M` lines up so a reviewer can scan the column in seconds. Format does not reorder keys, so the diff stays small and the change reads as pure whitespace, not logic.
Catch a duplicate key in my.cnf before MySQL silently wins one
MySQL's `my.cnf` lets a duplicate `max_connections` slip through and the last one wins, which burned you at 2am. Run the validator: it flags the second `max_connections` inside `[mysqld]` with the exact line number, e.g. line 47, so you delete the stale one instead of guessing which value the server actually loaded.
Normalize 12 systemd unit files for a clean git history
A repo has 12 `.service` units written by different people, some with `ExecStart=/usr/bin/app`, some with spaces around `=`. INI allows both, but the mixed style makes blame noisy. Paste each one, Format with a consistent spacing rule, and commit once so future diffs show real config changes rather than someone's editor reformatting.
Strip comments from a .conf before baking it into a Docker layer
Your image ships a 4 KB `app.conf` whose 60% is explanatory comments and blank lines you do not need at runtime. Switch to Minify: every `;` and `#` line and blank line is dropped, leaving only the live `key = value` pairs. The file drops to ~1.5 KB, the layer shrinks, and the source-of-truth commented version stays in your repo.
Common pitfalls
Pasting a TOML file expecting type-aware formatting. This tool treats `port = 5432` as a raw string pair, not an integer; arrays and `[table.sub]` nesting are not understood. Use a TOML formatter for real TOML.
Turning on Sort sections for a `.gitconfig` and assuming subsections nest correctly. They sort by the full literal header string, so `[remote "origin"]` may land away from `[remote "fork"]`. Keep Sort off for Git config.
Expecting Align equals to fix a duplicate key. Alignment is cosmetic; it lines up `=` but never merges or warns about two `timeout` keys. Run the validator separately to catch duplicates by line number.
Privacy
Everything runs in your browser tab. The INI text you paste is parsed, formatted, and re-emitted entirely in client-side JavaScript with no network call, so database connection strings, API tokens, and CI secrets in your config never reach a server. This tool does not write your input to the URL, so a shared link carries the tool but not your secrets; copy the formatted output manually to share a result.
FAQ
Tool combos
Folks in your role tend to reach for these alongside this tool.
- 555 Timer Calculator Astable f = 1.44/((R1+2R2)C) + monostable t = 1.1RC — pick R1, R2, C in Ω/kΩ and µF/nF, read frequency, duty cycle and pulse width — browser-only
- Add Line Numbers Number every line of pasted text — set start, step and separator, zero-pad to align, skip blanks, or strip numbers back off — browser-only
- AES Text Encryptor Encrypt & decrypt text with a password — AES-256-GCM + PBKDF2 via WebCrypto — 100% in your browser, nothing uploaded
- Affine Cipher Encoder & Decoder Encrypt and decrypt the ax+b affine cipher with live modular-inverse check, browser-only