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.
How to use the json to yaml converter
- Paste your JSON — an object, an array of objects, or a single value.
- Choose 2 or 4 spaces of indentation for the YAML.
- Press Convert to YAML, then read any notes under the button — they explain anything the conversion had to decide.
- 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.
Related tools
YAML to JSON Converter
Convert YAML to JSON in your browser. Resolves anchors and merge keys, handles multi-document files, and refuses expansion bombs. Nothing is uploaded.
JSON Formatter and Validator
Format, validate, beautify, or minify JSON online. Paste JSON and get clean, readable output instantly. Runs entirely in your browser.
JSON to CSV Converter
Convert JSON to CSV in your browser. Flattens nested objects, quotes safely, and downloads a spreadsheet-ready file. Nothing is uploaded.
CSV to JSON Converter
Convert CSV to JSON in your browser. Detects the delimiter, handles quoted fields, and types numbers and booleans. Nothing is uploaded.