About the TOML Validator
Check TOML files for syntax errors. Valid TOML is shown as parsed JSON, so you can confirm the structure is what you expect.
Key features
- Strict TOML 1.0 validation
- Error messages with line and column
- Shows the parsed result as JSON when valid
- Detects duplicate keys and redefined tables
- Upload .toml files directly
- Runs in your browser
Validate TOML files online
A single typo in Cargo.toml, pyproject.toml, netlify.toml or a Hugo config can stop a build with a cryptic error. The TOML Validator checks your file against the TOML 1.0 specification and either reports the exact problem or shows you the parsed structure as JSON.
Common TOML mistakes
| Mistake | Example | Fix |
|---|---|---|
| Unquoted string | name = my-app | name = "my-app" |
| Duplicate key | port = 80 twice | Keep one |
| Table defined twice | [server] … [server] | Merge into one table |
| Missing comma in inline table | { a = 1 b = 2 } | { a = 1, b = 2 } |
| Newline inside inline table | { a = 1, (new line) b = 2 } | Keep inline tables on one line, or use a [table] |
| Invalid date | date = 2026-13-01 | Use a real date |
| Mixing dotted keys and tables | a.b = 1 then [a] with b = 2 | Define each key once |
Reading the output
For a valid file the output begins with // ✓ Valid TOML, followed by the JSON representation. Check that:
[[array.of.tables]]became arrays,- dotted keys like
server.port = 80nested correctly, - dates parsed as dates (shown as ISO strings).
TOML in popular tools
- Rust:
Cargo.tomlandrustfmt.toml. - Python:
pyproject.tomlfor packaging, Poetry, Ruff, Black, pytest and mypy. - Hugo:
hugo.tomlsite configuration. - Netlify:
netlify.tomlfor build and redirect rules. - Starship, Alacritty, Helix: terminal and editor configs.
Related tools
Convert valid TOML to JSON with TOML to JSON, or create TOML from JSON with JSON to TOML. Validating JSON instead? Use the JSON Validator.
How to use the TOML Validator
- Paste your data into the input box, upload a file, or click Sample to try it out.
- Adjust the options above the editor if you need to (indentation, delimiter, and so on).
- The result appears instantly in the output panel. Any errors are shown with their line and column.
- Click Copy to copy the result, or Download to save it as a file.