Skip to content
Burrows Tools

JSON to YAML Converter

Paste JSON and get YAML you can drop into a Kubernetes manifest, a docker-compose file, or a GitHub Actions workflow. Keys come out in the order you wrote them — including the numeric ones JavaScript would otherwise sort to the front — and numbers keep the shape they arrived in, so 1.0 does not quietly become 1. Strings another YAML reader would take for something else are quoted deliberately: no, yes, on, off, 2026-01-01 and 12:30 all stay text. That last part is the difference between a config that works and the famous bug where Norway's country code NO turns into false. Multi-line values become block literals rather than escaped one-liners, and empty objects and arrays stay inline the way a person would write them. The conversion runs in this tab, so the hostnames, tokens and credentials in a real config are never uploaded, never logged, and never leave the device you are reading this on.

Converted in your browser — the text never leaves this tab and nothing is uploaded.

Paste your JSON and choose Convert to YAML.

Need the other direction? Convert YAML to JSON

How to use the json to yaml converter

  1. Paste your JSON — an object, an array of objects, or a single value.
  2. Choose 2 or 4 spaces of indentation for the YAML.
  3. Press Convert to YAML, then read any notes under the button — they explain anything the conversion had to decide.
  4. Copy the result, or download it as a .yaml file.

Frequently asked questions

Why are some of my strings wrapped in quotes?
Because they would not survive the trip otherwise. YAML 1.1 — still what PyYAML, libyaml and most tools built on them read — treats no, yes, on, off, y and n as booleans, 12:30 as the number 750, and 2026-01-01 as a date. A value that arrived as text is written back as quoted text so it stays text wherever the file ends up.
Does it keep my keys in order?
Yes, in the order they appear in your JSON. That includes keys that look like numbers, which JavaScript objects reorder to the front — this converter reads the JSON text itself rather than only the parsed value, so "2" before "1" stays "2" before "1".
What happens to a duplicate key?
The last one wins, which is what JSON.parse does, and a note tells you how many were dropped. Writing both into the YAML would produce a file that many parsers reject outright.
How much can I convert at once?
Up to 1 MB of JSON per conversion, which is far more than any hand-written config. The result is capped at 4 MB. Both limits exist so a huge paste cannot lock up the tab, and both tell you the actual size when you hit them.
Is my JSON uploaded anywhere?
No. The conversion is JavaScript running in your own browser. There is no server call, which is what makes this safe for a config file with real secrets in it, and why it keeps working with the network switched off.