Free tool · Runs in your browser

YAML Validator

Paste YAML and check it instantly - a real parser flags syntax errors with the exact line and column, a linter catches tabs, bad indentation, and duplicate keys, and one click reformats valid YAML. Everything runs in your browser; nothing is uploaded.

Validation runs entirely in your browser - your YAML is never uploaded. Safe for configs, secrets, and manifests.

Try:
Format:
YAML input
Result
Paste YAML on the left. Validation runs live as you type.

What a YAML validator checks

This tool parses your input with a real YAML engine (the same class of parser your applications use), not a regex, so it catches every well-formedness problem the spec defines: broken indentation, tabs used for indentation, unbalanced flow collections, bad anchors and aliases, and duplicate keys. If anything is wrong, you get the exact line and column and the offending line is highlighted so you can fix it without hunting.

On top of the parser, a lightweight linter flags things that are technically valid but usually mistakes - trailing whitespace, Windows line endings, over-long lines, and a missing space after a colon. Those show up as amber suggestions rather than hard errors, so you see the full picture at once.

The most common YAML errors (and how to fix them)

Nearly every invalid YAML file fails for one of a handful of reasons. Tabs are the classic one: YAML forbids tab characters for indentation, so a single tab breaks the whole document - use spaces. Inconsistent indentation is next: every sibling key or list item must line up at the same column, and mixing 2 and 4 spaces at the same level confuses the parser.

A missing space after a colon ( key:value instead of key: value ) turns a mapping into a plain string. Duplicate keys in the same map are rejected outright. And values that start with a special character ( @, &, * ) or contain a : or # often need quotes to be read as text.

Validating multi-document files (Kubernetes, CI pipelines)

A single YAML file can hold several documents separated by ---. This is how Kubernetes manifests pack a Namespace, a ConfigMap, and a Deployment into one file, and how some CI configs are organized. The validator parses the whole stream, reports how many documents it found, and points any error at the right line across all of them - so you do not have to split the file to find the broken part.

Syntax-valid is not the same as schema-valid

This tool checks that your YAML is well formed against the YAML spec: that it parses cleanly into maps, lists, and scalars. That is what "valid YAML" means, and it catches the overwhelming majority of real-world breakages.

It does not check your document against a specific application schema - it will not tell you that a Kubernetes Deployment is missing spec.selector, or that a GitHub Actions workflow used the wrong key. Those are schema questions your platform validates. Load the provided samples to see structurally valid documents for each format.

Is it safe to paste secrets or config here?

Yes. Validation runs 100% in your browser with no network calls - you can confirm it with the browser's network tab open, and it keeps working offline. Nothing you paste, upload, or format ever leaves the page, which is why it is fine for real manifests, environment files, and CI configs that contain secrets.

Common YAML errors at a glance

ErrorCauseFix
Tab used for indentationA tab character where spaces belongReplace tabs with spaces (2 is common)
Inconsistent indentationSibling keys not aligned to the same columnAlign every sibling to the same indent
Missing space after colonWritten as key:value instead of key: valueAdd a space: "key: value"
Duplicate mapping keyThe same key appears twice in one mapRename or remove the duplicate
Unquoted special characterA value starts with @, `, or contains : or #Wrap the value in quotes
Wrong list indentationA "- item" not aligned under its keyIndent list items under the parent key
YAML validation FAQ

Frequently asked questions

Paste your YAML into the left pane. Validation runs live as you type - the right panel shows a green Valid or red Invalid verdict, the exact line and column of any error, and lint suggestions. There is no button to press and nothing is uploaded.
The most common causes are a tab used for indentation, inconsistent indentation between sibling keys, a missing space after a colon, a duplicate key, or a special character that needs quotes. The validator shows the exact line and column and highlights the offending line so you can fix it fast.
No. YAML forbids tab characters for indentation - you must use spaces. A single tab in the indentation will make the document fail to parse. This tool flags tab-indented lines specifically so you can spot and replace them.
A validator answers a yes/no question: does this parse as valid YAML? A linter goes further and flags style and quality issues that are technically valid but usually mistakes, like trailing whitespace, Windows line endings, or over-long lines. This tool does both at once.
Paste the manifest and the validator checks the full multi-document stream (the parts separated by ---) and reports how many documents it found. Note that it checks YAML syntax, not the Kubernetes schema, so it confirms the file is well formed rather than that every required field is present.
No. The same key appearing twice in one mapping is rejected as invalid, because it is ambiguous which value wins. This validator treats a duplicate key as a hard error and points you at the line so you can rename or remove it.
Yes. Documents separated by --- are all parsed as a single stream. The result panel reports the document count, and any error is pinned to the correct line across the whole file, so you never have to split it apart to debug.
Yes. Validation runs entirely client-side with no uploads or network calls, which you can verify in the browser network tab, and it works offline. Your YAML never leaves your machine, so it is safe for manifests, .env files, and secrets.
Yes. When your YAML is valid, the Format button reformats it with clean, consistent indentation (2 or 4 spaces) and normalized structure. Then copy it to your clipboard or download it as validated.yaml. Formatting only runs on valid input, so fix any errors first.
Configs live on servers

Validate the config, manage the servers.

CtrlOps is a modern SSH workspace for the machines your YAML deploys to - organized hosts, secure key management, and instant terminals. Check the manifest here, apply it on the server in one click.

Start instantly· No credit card· No sneaky autorenewals