DevTool Kit

JSON to YAML Converter

Paste a JSON document and get clean YAML back. Useful when a tool gives you JSON but your config files are YAML - Kubernetes, GitHub Actions, docker-compose, Ansible, OpenAPI.

or choose a file:

YAML that a config file will accept

The converter emits block-style YAML with the indentation you choose, keeps long lines unwrapped so URLs and commands stay on one line, and writes plain scalars where they are unambiguous. The result can be pasted directly into a manifest without further tidying.

When to quote every string

YAML reads unquoted `yes`, `no`, `on`, `off` and `1.10` as booleans and numbers, which silently changes their meaning. Turn on "quote all strings" when the document contains version numbers, country codes such as `NO`, or any value that must survive as text exactly as written.

Round-tripping and key order

JSON objects have no defined order, so tools often emit keys in whatever order they were built. Sorting keys before conversion gives you a stable, reviewable YAML file whose diffs reflect real changes. The conversion is lossless: converting the YAML back to JSON returns the same data.

Frequently asked questions

Is my document uploaded?

No. Nothing you paste leaves your browser. The page loads a small amount of JavaScript, and every calculation happens on your own machine - there is no server to send data to. Manifests often contain hostnames, secrets and internal service names, so this matters.

Which YAML version is produced?

YAML 1.2, which is the version JSON is a strict subset of, and the version used by Kubernetes, GitHub Actions and most modern parsers. Anchors and aliases are not generated, so the output stays easy to read.

Can it convert an array at the top level?

Yes. A top-level JSON array becomes a YAML sequence of `-` items, which is exactly what a list-shaped config file expects. Any valid JSON value converts, including a bare string or number.

What happens to null values?

A JSON `null` becomes an empty YAML value, which YAML parsers read back as null. If you prefer the explicit spelling, replacing the blank with `null` after conversion is equivalent.

Related tools

JSON formatterYAML to JSONBase64 encodeBase64 decodeURL encode / decodeHTML entitiesJWT decoderHash generator