JSON → YAML Converter

Turn JSON into clean, readable YAML.

Your data is processed entirely in your browser and is never uploaded.

Tool workspace

INPUT JSON

Drag & drop file here or browse

Status: Empty0 chars

Options

Produces deterministic YAML; array order is always preserved.

Indentation
Ready, paste to start
OUTPUT YAML
Output: Empty0 chars
HOW IT WORKS

Convert JSON to YAML in three steps

Paste or upload

Drop in any JSON: objects, arrays, nested data, up to 15M characters.

Set options

Choose indentation (2/4 spaces or tab), and optionally sort keys for stable output.

Convert & export

Click Convert, then copy or download the resulting YAML. All offline.

Docs · Convert

JSON is already nearly YAML. This just makes it readable

YAML is a superset of JSON, so JSON → YAML is a re-serialization job: the engine parses your JSON and writes it back out as indentation-based YAML. Objects become nested mappings, arrays become block sequences (order always preserved), and scalars keep their types. Strings are quoted only when they need to be (special characters, leading/trailing spaces, or empty), and left plain otherwise for readability. You can choose the indentation and optionally sort object keys for deterministic output. Null becomes the standard YAML null. Large files run in a background worker so the editor stays responsive.

Things to know

Invalid JSON won't convert

The converter parses JSON first, so a syntax error stops it with the exact line and column. Fix the source (the Validator pinpoints it) and convert again.

{
  "name": "Ada",
  "role": "engineer",
}
Strings are quoted only when necessary

A plain unquoted string stays bare for readability. Strings containing special characters, leading or trailing spaces, or empty strings are quoted so they round-trip exactly.

{"note": "  indented  ", "plain": "hello"}
Array order is always preserved

Only object keys can be sorted (optionally). Arrays are always output in the order they appear in the JSON. Sorting would change your data.

Null is null

A JSON null becomes the YAML null, which is the standard representation. Empty values are never silently dropped.

{"a": null, "b": 1}

Try these

Simple config
{"name": "Ada", "role": "engineer", "level": 7, "active": true, "alias": null}

Scalars of every type map cleanly to YAML.

Nested with a list
{"toolkit": {"name": "Free JSON Toolkit", "tools": ["json-to-yaml", "json-formatter"]}}

Objects and arrays become indented mappings and sequences.

pair this withReverse it → YAML → JSON·Format the source → JSON Formatter·Validate the source → JSON Validator

FAQ

Frequently asked questions

Is my JSON uploaded anywhere?

No. Conversion runs entirely in your browser (in a background worker for large files). Your data never leaves your machine.

How are strings handled?

Strings are quoted when they contain special characters, start/end with spaces, or are empty. Otherwise they are left unquoted for readability.

Does it preserve array order?

Yes. Arrays are always output in the order they appear in the JSON. Only object keys can be sorted (optionally).

What about null values?

Null is output as null in YAML, which is the standard representation.