← All Tools
YAML Validate🔒 100% local
Validate YAML syntax. Privacy-first, no server uploads, no tracking.
Related Tools
Answers one question about pasted YAML: does the site's subset parser accept it. On success it reports how many top-level keys or array items were found and prints a short checklist; on failure it prints the line number and the token it could not parse, then lists the usual YAML traps. The document stays in the page and is discarded when the tab closes.
How to use it
- Paste the YAML and press Process.
- A VALID result names the parse shape ('2 top-level keys' or 'array of 3 items'); an INVALID result gives the line number and the offending text.
- If a line is reported, check the indentation of that line and the one above it first - that is the usual cause in this parser.
- Copy Output keeps the verdict and the pitfall list for a bug report.
Worked example
name: John
age: 30becomesVALID YAML - parsed as 2 top-level keys
!CHECKLIST
✓ Indentation consistent
✓ All keys unique at their level
✓ Scalar types parse cleanly (strings/numbers/booleans/null)The page prints an em dash and check marks; the dash is shown here as a hyphen.
name: John
age: 30becomesINVALID YAML
ERROR Line 2: Unexpected indentation or stray token: "age: 30"
Common YAML pitfalls:
• tabs (YAML requires spaces - this tool reports 2-space conventions)
• unquoted : inside a scalar value (e.g. time strings "12:30")
• duplicated keys (parser keeps last)
• mixing tabs and spaces in nested blocksage is indented under a key that already had a value, so it cannot be attached to anything.
When to use it
- Deciding whether a config file is worth feeding to an editor plugin when it keeps failing to load.
- Getting the failing line number for a large file instead of bisecting it by hand.
- Teaching yourself the indentation rules with a file you know is wrong, since the error names the exact line.
What it does not do
- The checklist is fixed text, not a report. a: 1 followed by a: 2 is accepted as 'VALID YAML - parsed as 1 top-level keys' and still ticks 'All keys unique at their level', even though the duplicate silently overwrote the first value.
- Tab-indented input slips through. 'a:' followed by a tab-indented 'b: 1' is reported VALID as 2 top-level keys, because tab characters do not count as indentation here.
- It validates only this subset. A bare scalar document such as 'hello' - legal YAML - is reported INVALID with 'Expected "key: value"', and anchors, block scalars, flow maps and multiple documents are outside its knowledge.
- The plural is hard-coded, so a one-key file reports '1 top-level keys'.