Zero Signup ToolsFree browser tools

Developer Tools

TOML Validator

Validate TOML in your browser. See the exact line, column, and likely cause of every error, with checks for duplicate keys, redefined tables, and bad dates.

0 chars

Result

Awaiting input. Paste TOML on the left to validate it.
Paste a TOML document on the left. The validator runs in your browser as you type, reporting the exact line, column, and likely cause of any syntax error. Try the Load sample buttons to see a known-good manifest or a broken file in action.
What this validator checks (and what is out of scope)

Accepted by this validator

  • Bare, "quoted", and 'literal' keys, plus dotted keys like a.b.c.
  • Basic and literal strings, and their multiline triple-quoted forms with the leading-newline trim and line-ending backslash.
  • Integers in decimal, hex (0x), octal (0o), and binary (0b) with underscore separators, and floats including inf and nan.
  • Booleans (true and false).
  • Offset date-time, local date-time, local date, and local time, with calendar and clock range checks.
  • Arrays (mixed types, nested, multiline, optional trailing comma).
  • Inline tables on a single line, for example { x = 1, y = 2 }.
  • [table] and [[array of tables]] headers with dotted names.

Rejected (common TOML mistakes)

  • Unquoted string values such as a Windows path or bare word.
  • A key defined more than once, in a table or an inline table.
  • Redefining a [table] header, or reopening an inline table or array of tables with a later header.
  • A missing equals sign, or extra content after a value on the same line.
  • Out-of-range dates and times (for example month 13 or hour 25).
  • Decimal integers with a leading zero, and malformed number literals.
  • A trailing comma inside an inline table, or an inline table that spans multiple lines.
  • Unterminated strings, arrays, or inline tables, and invalid escape sequences.
  • A UTF-8 byte order mark at the very start of the file.

This validator checks TOML 1.0.0 syntax and the structural rules (duplicate keys, table redefinition, and the inline-table and array-of-tables extension rules). It does not check your values against an application schema, so it confirms the file is valid TOML, not that the keys are the ones a particular program expects. It covers the TOML used by pyproject.toml, Cargo.toml, Netlify, Hugo, Foundry, and Wrangler configurations.

How to use

  1. Paste your TOML into the input box on the left. The validator runs in your browser as you type.
  2. Read the green Valid banner or the red Invalid banner above the result panel. The red banner names the first error and its message.
  3. If invalid, open the Error location panel for a code snippet with a caret pointing at the failing character, and check the Likely cause hint for a plain-English explanation and fix.
  4. If valid, scroll down to the Document summary and Value types panels for table, key, and value counts, the maximum nesting depth, and the full list of defined key paths.
  5. Click Copy error report to copy a self-contained description of the failure (location, hint, and a code snippet) when sharing the error with a teammate.
  6. Try Load valid sample for a worked Cargo-style manifest, or Load broken sample to see how the validator reports a duplicate key, a redefined table, an unquoted path, and an out-of-range date.

About this tool

TOML Validator is a single-purpose strict TOML checker. Paste any TOML document on the left and the tool tells you whether it parses as valid TOML 1.0.0. When the input is invalid it shows the exact line, column, and 0-based character index of the failure, draws a code snippet with the surrounding lines, marks the failing character with a caret pointer, and adds a Likely cause hint in plain English. The hint engine recognises the mistakes that actually break config files: an unquoted string value such as a Windows path or a bare word (the single most common TOML error), a key defined more than once, a [table] header that redefines an already-defined table, an attempt to extend an inline table or array of tables with a later header, a missing equals sign, extra content after a value on the same line, out-of-range dates and times like month 13 or hour 25, decimal integers with an illegal leading zero, malformed number literals, a trailing comma inside an inline table, an inline table spread across multiple lines, unterminated strings, arrays, or inline tables, invalid escape sequences, and a UTF-8 byte order mark at the very start of the file. When the input parses, the tool reports a structural breakdown: the number of tables, arrays of tables, keys, and total values; the value-type distribution across strings, integers, floats, booleans, date-times, dates, times, arrays, and inline tables; the maximum nesting depth; the input size in characters and UTF-8 bytes; and the full list of every key path and table header defined in the document, which you can copy. The parser is a hand-written implementation that covers the whole TOML 1.0.0 language as it appears in real files: bare, quoted, and dotted keys; basic and literal strings and their multiline triple-quoted forms with escape handling and the leading-newline trim; integers in decimal, hexadecimal, octal, and binary with underscore separators; floats including inf and nan; booleans; offset date-time, local date-time, local date, and local time with calendar and clock range checks; arrays with mixed types, nesting, multiline layout, and an optional trailing comma; inline tables; and [table] and [[array of tables]] headers with dotted names. It also enforces the structural rules that a plain syntax check misses, including the rule that each key may be defined only once and that an inline table or an array of tables cannot later be reopened with a table header. Useful for catching the missing quotes that break a pyproject.toml build, the duplicate key that makes a Cargo.toml setting silently lose, the redefined table in a Netlify or Hugo config, and the malformed date in a Wrangler or Foundry file before you commit. One honest limit: this validates TOML syntax and structure, not your values against a particular program's schema, so a passing result confirms the file is valid TOML, not that the keys are the ones your tool expects. Everything runs locally in the browser; nothing you paste is uploaded, logged, or sent to a server.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsDeveloper Tools