JSON to YAML Converter

Input JSON

Output YAML

Your YAML appears here as you type.

Paste data to see token savings

YAML offers better human readability than JSON with less punctuation. Great for configuration files.

Example: JSON input and real YAML output

The output below was generated by the same conversion code the converter uses, run on this sample when the page was built.

JSON input (689 characters)
{
  "orders": [
    {
      "id": 1001,
      "status": "shipped",
      "total": 59.9,
      "customer": {
        "name": "Ana Ruiz",
        "country": "ES"
      },
      "items": [
        "SKU-104",
        "SKU-221"
      ]
    },
    {
      "id": 1002,
      "status": "pending",
      "total": 18.5,
      "customer": {
        "name": "Jonas Berg",
        "country": "SE"
      },
      "items": [
        "SKU-310"
      ]
    },
    {
      "id": 1003,
      "status": "shipped",
      "total": 112,
      "customer": {
        "name": "Mei Tanaka",
        "country": "JP"
      },
      "items": [
        "SKU-104",
        "SKU-415",
        "SKU-502"
      ]
    }
  ]
}
YAML output (445 characters)
orders:
  - id: 1001
    status: shipped
    total: 59.9
    customer:
      name: Ana Ruiz
      country: ES
    items:
      - SKU-104
      - SKU-221
  - id: 1002
    status: pending
    total: 18.5
    customer:
      name: Jonas Berg
      country: SE
    items:
      - SKU-310
  - id: 1003
    status: shipped
    total: 112
    customer:
      name: Mei Tanaka
      country: JP
    items:
      - SKU-104
      - SKU-415
      - SKU-502

YAML output is 35% smaller than the JSON input. The same data is 375 characters as minified JSON and 689 as pretty-printed JSON. Sizes are character counts, not tokens: token counts depend on the model's tokenizer (see the tokenizer comparison).

JSON to YAML: what changes

  • Reading JSON: Input must be strict JSON: no comments, trailing commas, or single quotes. If it came from an LLM or a log file, run it through the JSON repair tool first.
  • Writing YAML: Strings that would otherwise change type on re-read, such as '2021' or '1.0', are quoted. No comments are generated.

About JSON

JavaScript Object Notation is the most widely used data interchange format. Lightweight, easy to parse, and supported by every programming language.

  • ✓Universal compatibility
  • ✓Easy to parse
  • ✓Great for APIs
  • ✓Native in JavaScript
Full JSON Documentation →

About YAML

YAML is a human-friendly data serialization format. It uses indentation instead of brackets, making configuration files more readable.

  • ✓Human readable
  • ✓No punctuation
  • ✓Supports comments
  • ✓Great for config
Full YAML Documentation →

Why Convert JSON to YAML?

Use YAML for configuration files, especially in DevOps (Docker, Kubernetes, GitHub Actions). It's more readable than JSON but can have ambiguity with indentation.

JSON to YAML: Frequently Asked Questions

How do I convert JSON to YAML?

Paste your JSON into the editor on json2toon.co. The tool detects the input and produces YAML instantly, then you copy the result. Conversion runs entirely in your browser, so nothing is uploaded to a server.

Is the JSON to YAML converter free?

Yes. Converting JSON to YAML on json2toon.co is free with no account, signup, or usage limit. A free public API is also available for automated, programmatic conversion.

Why convert JSON to YAML?

YAML offers better human readability than JSON with less punctuation. Great for configuration files.

What should I watch out for when converting JSON to YAML?

Strings that would otherwise change type on re-read, such as '2021' or '1.0', are quoted. No comments are generated.

Is my data safe when I convert JSON to YAML?

Yes. The JSON to YAML conversion happens client-side in your browser. Your source data stays on your device and is never sent to or stored on a server, which makes it safe for private or sensitive payloads.