TOML to JSON
Convert TOML config into clean JSON instantly.
How to use
- 1 Paste or type your TOML into the input box.
- 2 Choose two- or four-space indentation for the JSON.
- 3 Watch the JSON output update live as you edit.
- 4 Fix any line flagged in the error message if the TOML is invalid.
- 5 Copy the formatted JSON.
About TOML to JSON
The TOML to JSON converter turns TOML — the config format used by Cargo, pyproject.toml, Hugo and many modern tools — into clean, indented JSON you can drop into an API, a script or another config file.
Paste your TOML on the left and the JSON appears live on the right, re-formatting itself as you type.
The built-in parser understands the everyday TOML you actually write: bare and quoted keys, basic strings with escape sequences, literal strings, integers and floats (with underscore separators), booleans, inline arrays including nested arrays, [tables], deeply nested dotted table headers like [a.b.c], dotted keys such as a.b = 1, and [[arrays of tables]].
Comments and blank lines are ignored, and date-like values are preserved as strings so nothing is silently lost.
If the input has a problem — a missing equals sign, a duplicate key or a malformed escape — you get a calm, specific message pointing at the offending line instead of a cryptic crash.
Everything runs entirely in your browser using plain JavaScript, with no network requests and no third-party libraries, so even private configuration files never leave your machine and the tool keeps working offline once loaded.
Choose two- or four-space indentation and copy the result with one click.
FAQ
Which TOML features are supported?
Key/value pairs, basic and literal strings, integers, floats, booleans, inline and nested arrays, [tables], dotted keys, nested dotted table headers and [[arrays of tables]]. Multi-line strings and inline tables are not yet supported.
What happens to dates and times?
Date and datetime values are preserved as strings in the JSON output, so the information is kept rather than dropped or misparsed.
Is my configuration uploaded anywhere?
No. The conversion runs entirely in your browser with no network calls, so even sensitive config files stay on your device.