Indent:
JSON Input 0 B
Ready
0 chars
YAML Output 0 B
YAML output will appear here...
0 chars
Features

Why use this converter

Type-aware

Numbers, booleans, null, strings, arrays, and nested objects are all converted with proper YAML semantics. Strings that look like keywords (yes/no/true/false) are auto-quoted to prevent ambiguity.

Clean output

Output is properly indented and follows YAML best practices. Nested objects use block style; long arrays use the standard dash prefix for readability.

Config-ready

Perfect for generating Kubernetes manifests, Docker Compose files, GitHub Actions workflows, Ansible playbooks, and any YAML-based configuration from JSON templates.

How it works

Conversion explained

1. Parse JSON

Your input is parsed into a JavaScript value using the browser's native JSON.parse. Invalid JSON triggers a clear error message with no partial output.

2. Walk the tree

A custom serializer walks the value tree recursively, emitting YAML lines with correct indentation. Keys and values are escaped only when necessary.

3. Quote smartly

Strings that contain colons, leading/trailing spaces, or YAML keywords are wrapped in double quotes. Strings that look like numbers but are typed as strings are also quoted.

FAQ

JSON to YAML Converter — frequently asked questions

What is YAML and why use it instead of JSON?

YAML ("YAML Ain't Markup Language") is a human-friendly data format that uses indentation instead of braces and quotes. It's 30-50% shorter than equivalent JSON and supports comments, making it ideal for configuration files. JSON is better for machine-to-machine communication; YAML is better for human-authored configs.

Can JSONLab convert YAML back to JSON?

Yes — use the YAML to JSON tool. The conversion is bidirectional and lossless for the common YAML subset that maps cleanly to JSON.

Does this support YAML anchors and aliases?

No. JSON has no equivalent of YAML anchors (&) and aliases (*). For the same reason, multi-document YAML (--- separators) is not supported — JSON only represents a single document.

Is the conversion lossless?

Yes, for any JSON value. The round-trip JSON to YAML to JSON produces the exact same value. The only nuance is string quoting: YAML may represent the same string with or without quotes depending on content.