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.
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
| Error | Cause | Fix |
|---|---|---|
| Tab used for indentation | A tab character where spaces belong | Replace tabs with spaces (2 is common) |
| Inconsistent indentation | Sibling keys not aligned to the same column | Align every sibling to the same indent |
| Missing space after colon | Written as key:value instead of key: value | Add a space: "key: value" |
| Duplicate mapping key | The same key appears twice in one map | Rename or remove the duplicate |
| Unquoted special character | A value starts with @, `, or contains : or # | Wrap the value in quotes |
| Wrong list indentation | A "- item" not aligned under its key | Indent list items under the parent key |
Frequently asked questions
Related developer tools
Cron Expression Generator
Build and decode crontab schedules with a plain-English preview.
Nginx Config Generator
Generate an nginx server block for a reverse proxy, static site, SPA, or PHP - with SSL.
Base64 Encoder / Decoder
Encode and decode Base64 - text, files, and data URIs - with URL-safe and UTF-8 support.
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

