YAML Tools
Free, privacy-first YAML utilities for DevOps engineers and developers. Format, validate, and convert YAML — all locally in your browser.
Most popular
- yamlYAML Formatter● ready
Format messy or minified YAML into clean, consistently indented output. Comments are preserved.
- yamlYAML Validator● ready
Paste your YAML and instantly see if it's valid. Invalid YAML shows a clear error message from js-yaml's parser.
- yamlYAML Diff● ready
Diff two YAML configs side-by-side or unified. Ignores formatting noise — only real semantic changes are flagged.
- yamlCompose Check● ready
Check compose files for missing services, services without image/build, and malformed sections — before docker compose up fails.
- yamlK8s Validator● ready
Check Kubernetes manifests for missing apiVersion/kind/metadata and unknown kinds — a fast structural sanity check before kubectl apply.
Format & Validate
- yamlYAML Formatter● ready
Format messy or minified YAML into clean, consistently indented output. Comments are preserved.
- yamlYAML Validator● ready
Paste your YAML and instantly see if it's valid. Invalid YAML shows a clear error message from js-yaml's parser.
- yamlYAML Diff● ready
Diff two YAML configs side-by-side or unified. Ignores formatting noise — only real semantic changes are flagged.
- yamlYAML Lint● ready
Catch YAML problems fast: syntax errors, duplicate keys, tab indentation, and trailing whitespace — with line numbers for every issue.
- yamlYAML Schema● ready
Validate YAML documents against a JSON Schema (written in JSON or YAML) with detailed per-path errors — powered by AJV locally.
- yamlCoercion Check● ready
Detect yes/no/on/off, octal 0123, and similar tokens that change meaning between YAML 1.1 and 1.2 — the classic config footguns.
Convert
- yamlYAML → JSON● ready
Parse YAML text and produce equivalent JSON using the js-yaml library. Works with any valid YAML 1.2 document.
- yamlJSON → YAML● ready
Convert JSON into equivalent YAML 1.2 syntax for Kubernetes manifests, Docker Compose, or any config that prefers YAML. Configurable indent and flow style; runs entirely in your browser.
- yamlYAML ⇄ TOML● ready
Convert YAML to TOML or TOML to YAML — for moving configs between projects that standardized on the other format. Fully client-side.
- yamlYAML → XML● ready
Convert YAML into XML with a configurable root element — useful for SOAP, feeds, and legacy systems that still speak XML.
- yamlYAML → CSV● ready
Turn a YAML list of maps into CSV — keys become headers, nested values stringify, and cells escape per RFC 4180.
- yamlCSV → YAML● ready
Turn CSV with a header row into a YAML list of mappings — handy for converting spreadsheet exports into config-style data.
- yamlYAML → .env● ready
Flatten a YAML config into dotenv-style KEY=VALUE lines, with nested keys joined by double underscores (DATABASE__HOST=localhost).
- yaml.env → YAML● ready
Turn dotenv KEY=VALUE lines into nested YAML, rebuilding objects and arrays from double-underscore keys (DATABASE__PORT=5432).
DevOps
- yamlK8s Validator● ready
Check Kubernetes manifests for missing apiVersion/kind/metadata and unknown kinds — a fast structural sanity check before kubectl apply.
- yamlCompose Check● ready
Check compose files for missing services, services without image/build, and malformed sections — before docker compose up fails.
- yamlGH Actions Check● ready
Check workflow files for the required 'on' trigger, jobs, and steps that each have 'uses' or 'run' — a quick structural sanity check.
- yamlGitLab CI● ready
Check .gitlab-ci.yml for jobs missing 'script', reserved-key misuse, and YAML errors — before your pipeline fails at the first job.
- yamlAnsible Check● ready
Check playbooks are a list of plays with hosts and named tasks — a fast structural check before ansible-playbook runs.
- yamlHelm Merge● ready
Paste base values and overrides separated by --- to produce the merged result the way Helm does — deep merge with later docs winning.
Transform & Query
- yamlAnchors● ready
Expand every &anchor and *alias in a YAML file into standalone output, with a breakdown of each anchor's definition and usage lines.
- yamlYAML Merge● ready
Combine several YAML documents (separated by ---) into a single merged document — nested maps merge, later values win.
- yamlSplit YAML● ready
Split a file containing several YAML documents separated by --- into individual documents you can view and download separately.
- yamlYAML Path● ready
Extract values from YAML with yq-style dot paths (a.b[1].c) — like jq for YAML, without installing anything.
- yamlStrip Comments● ready
Strip # comments from YAML — including trailing comments — while leaving hashes inside quoted strings completely untouched.
- yamlFlow → Block● ready
Convert compact flow-style YAML ({a: 1, b: [1, 2]}) into the indented block style most config files use — with nothing uploaded.
All tools
- yamlYAML ⇄ TOML● ready
Convert YAML to TOML or TOML to YAML — for moving configs between projects that standardized on the other format. Fully client-side.
- yamlYAML Schema● ready
Validate YAML documents against a JSON Schema (written in JSON or YAML) with detailed per-path errors — powered by AJV locally.
- yamlK8s Validator● ready
Check Kubernetes manifests for missing apiVersion/kind/metadata and unknown kinds — a fast structural sanity check before kubectl apply.
- yamlCompose Check● ready
Check compose files for missing services, services without image/build, and malformed sections — before docker compose up fails.
- yamlAnchors● ready
Expand every &anchor and *alias in a YAML file into standalone output, with a breakdown of each anchor's definition and usage lines.
- yamlHelm Merge● ready
Paste base values and overrides separated by --- to produce the merged result the way Helm does — deep merge with later docs winning.
- yamlYAML Lint● ready
Catch YAML problems fast: syntax errors, duplicate keys, tab indentation, and trailing whitespace — with line numbers for every issue.
- yamlYAML → XML● ready
Convert YAML into XML with a configurable root element — useful for SOAP, feeds, and legacy systems that still speak XML.
- yamlYAML Merge● ready
Combine several YAML documents (separated by ---) into a single merged document — nested maps merge, later values win.
- yamlYAML → .env● ready
Flatten a YAML config into dotenv-style KEY=VALUE lines, with nested keys joined by double underscores (DATABASE__HOST=localhost).
- yaml.env → YAML● ready
Turn dotenv KEY=VALUE lines into nested YAML, rebuilding objects and arrays from double-underscore keys (DATABASE__PORT=5432).
- yamlGH Actions Check● ready
Check workflow files for the required 'on' trigger, jobs, and steps that each have 'uses' or 'run' — a quick structural sanity check.
- yamlGitLab CI● ready
Check .gitlab-ci.yml for jobs missing 'script', reserved-key misuse, and YAML errors — before your pipeline fails at the first job.
- yamlSplit YAML● ready
Split a file containing several YAML documents separated by --- into individual documents you can view and download separately.
- yamlYAML Path● ready
Extract values from YAML with yq-style dot paths (a.b[1].c) — like jq for YAML, without installing anything.
- yamlStrip Comments● ready
Strip # comments from YAML — including trailing comments — while leaving hashes inside quoted strings completely untouched.
- yamlFlow → Block● ready
Convert compact flow-style YAML ({a: 1, b: [1, 2]}) into the indented block style most config files use — with nothing uploaded.
- yamlCoercion Check● ready
Detect yes/no/on/off, octal 0123, and similar tokens that change meaning between YAML 1.1 and 1.2 — the classic config footguns.
- yamlAnsible Check● ready
Check playbooks are a list of plays with hosts and named tasks — a fast structural check before ansible-playbook runs.
- yamlYAML → CSV● ready
Turn a YAML list of maps into CSV — keys become headers, nested values stringify, and cells escape per RFC 4180.
- yamlCSV → YAML● ready
Turn CSV with a header row into a YAML list of mappings — handy for converting spreadsheet exports into config-style data.
- yamlYAML Formatter● ready
Format messy or minified YAML into clean, consistently indented output. Comments are preserved.
- yamlYAML Validator● ready
Paste your YAML and instantly see if it's valid. Invalid YAML shows a clear error message from js-yaml's parser.
- yamlYAML Diff● ready
Diff two YAML configs side-by-side or unified. Ignores formatting noise — only real semantic changes are flagged.
- yamlYAML → JSON● ready
Parse YAML text and produce equivalent JSON using the js-yaml library. Works with any valid YAML 1.2 document.
- yamlJSON → YAML● ready
Convert JSON into equivalent YAML 1.2 syntax for Kubernetes manifests, Docker Compose, or any config that prefers YAML. Configurable indent and flow style; runs entirely in your browser.
About YAML Tools
YAML is the de-facto config format for Kubernetes, Docker Compose, CI pipelines, and more. Our tools parse and format YAML client-side so your sensitive configs never leave your device.
Related categories
Frequently asked questions
Does YAML formatting preserve comments?
Yes. Our YAML formatter preserves comments using js-yaml's document API, unlike many formatters that strip them.
Is my YAML config uploaded anywhere?
No. All YAML processing happens entirely in your browser using JavaScript. Your configs — including Kubernetes secrets and CI credentials — never touch a server.
Can I format multi-document YAML?
Yes. Files with `---` separators between documents are fully supported.