JSON to YAML Converter

Paste JSON and get clean, indented YAML for config files, Kubernetes manifests and CI pipelines.

JSON

Convert JSON to readable YAML

YAML is the format of choice for configuration: Kubernetes manifests, Docker Compose files, GitHub Actions workflows and Ansible playbooks are all written in it. When your data starts out as JSON, for example an API response or a generated config, this converter rewrites it as YAML with two-space indentation, block-style lists and no braces or quotes where they are not needed. Key order is preserved, and strings that YAML would otherwise read as another type, such as "yes" or "1.0", are quoted so the meaning does not change.

How to use

  1. Paste or type your JSON into the input editor.
  2. The YAML appears in the output editor as you type; syntax errors in the JSON are shown under the input.
  3. Copy the YAML into your config file, or press Swap to turn YAML back into JSON.

Frequently asked questions

Will the YAML mean exactly the same as my JSON?
Yes. Every JSON value has a YAML equivalent, and values that could be misread, such as the strings "yes", "no" or "1.0", are wrapped in quotes so they stay strings.
Can I add comments to the generated YAML?
JSON has no comments, so the output has none either. You can add # comments to the YAML after copying it; they are ignored if you convert the file back to JSON.
Is my data sent to a server?
No. The conversion runs entirely in your browser, so secrets in config files never leave your machine.

Example: JSON to YAML

JSON input

{
  "service": "api",
  "port": 8080,
  "debug": false,
  "allowedOrigins": ["https://example.com", "https://app.example.com"],
  "database": { "host": "localhost", "pool": 10 }
}

YAML output

service: api
port: 8080
debug: false
allowedOrigins:
  - https://example.com
  - https://app.example.com
database:
  host: localhost
  pool: 10

Other conversions