YAML ⇄ JSON converter
Convert in either direction and validate as you go. Anchors, merge keys and multi-document files (Kubernetes manifests) are handled.
YAML and JSON in configuration
Kubernetes, Docker Compose, GitHub Actions, OpenAPI and Spring Boot all use YAML, while the APIs and libraries underneath speak JSON. Converting between them is a constant chore, and the awkward parts are the ones a quick script gets wrong: indentation errors, anchors, several documents in one file, and values such as no or 1.10 that look like one type and mean another.
The converter parses with a full YAML 1.2 parser, so errors point to a line and column instead of failing silently. Going from JSON to YAML, strings that would change type ("true", "123") are quoted so the YAML means exactly what the JSON did.
Everything runs in your browser, which makes it safe for manifests that contain internal hostnames or secrets. For Spring application.properties, use the properties ⇄ YAML converter.
Frequently asked questions
Does it handle anchors, aliases and merge keys?
Yes. Anchors (&base), aliases (*base) and merge keys (<<: *base) are resolved before converting, so the JSON shows the final values.
What happens with several documents in one file?
A file with --- separators, as in multi-resource Kubernetes manifests, becomes a JSON array with one element per document.
Why do duplicate keys cause an error?
JSON and YAML both say keys should be unique, and silently dropping one is how config bugs hide. The converter stops and tells you the line.
Are dates and booleans converted correctly?
Booleans, null and numbers become JSON equivalents. YAML 1.2 treats 2026-10-06 as a plain string, and so does this tool. Quote values like "yes" or "1.10" if you need them kept as text.