Staaarter

YAML to JSON Converter

Paste a YAML document and get back the equivalent JSON, indented and ready to use, useful whenever a tool or API needs JSON but your source of truth is written in YAML. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-22
By Staaarter Team
conversioninterop

Overview

Introduction

YAML and JSON describe the same kinds of data, mappings, sequences, and scalars, but plenty of tools only accept one or the other. This converter takes a YAML document and produces the equivalent JSON, so you can move a value between a YAML-based config and a JSON-only API or library without hand-translating it.

It's a strict, spec-driven conversion: the same parser used across every YAML tool on this site resolves your document into a real data structure first, then serializes that structure as JSON, so the output is exactly what a YAML-aware application would see if it read the same file.

What Is YAML to JSON Converter?

A YAML-to-JSON converter parses a YAML document into its underlying value, an object, array, string, number, boolean, or null, and re-serializes that value using JSON's syntax instead.

Because JSON is technically a subset of what YAML can express, most everyday YAML converts losslessly. The main casualties are comments and YAML-specific syntax like anchors, which get resolved to their expanded values rather than represented directly.

How YAML to JSON Converter Works

Your input is parsed with a full YAML 1.2 parser, then the resulting JavaScript value is passed straight to `JSON.stringify()` with your chosen indentation.

Because both steps operate on the same in-memory value, there's no intermediate text-munging step that could introduce a mismatch between what the YAML actually means and what the JSON expresses.

When To Use YAML to JSON Converter

Use it when a config, fixture, or API payload lives in YAML but a downstream tool, a JSON Schema validator, a `jq` pipeline, a JavaScript `JSON.parse()` call, needs it as JSON.

It's also useful for reviewing what a YAML document actually parses to, since YAML's flexible syntax can occasionally produce a different data shape than a quick visual read suggests.

Features

Advantages

  • Runs entirely client-side, so config with real values never leaves your browser.
  • Uses a spec-compliant parser, so YAML-specific features like anchors resolve correctly.
  • Output is standard, indented JSON ready to paste elsewhere.
  • Reports the exact parse error location if the input isn't valid YAML.

Limitations

  • Comments in the source YAML are not preserved, since JSON has no equivalent.
  • Only the first document in a multi-document stream is converted.
  • YAML's non-string map keys (rare, but valid) are coerced to strings, matching how JSON object keys always work.

Examples

Simple mapping with a nested list

Input

name: api
replicas: 3
env:
  - prod
  - staging

Output

{
  "name": "api",
  "replicas": 3,
  "env": [
    "prod",
    "staging"
  ]
}

Each YAML key becomes a JSON property, and the sequence becomes a JSON array.

true/false resolve to real JSON booleans, but yes/no stay strings

Input

debug: false
enabled: yes

Output

{
  "debug": false,
  "enabled": "yes"
}

Under the YAML 1.2 core schema this converter follows, only `true`/`false` are booleans. `yes` is just a string, unlike in older YAML 1.1 tools, so it converts to JSON's `"yes"`, not `true`.

Invalid indentation stops conversion

Invalid input

a: b
  c: d

Parser error

Nested mappings are not allowed in compact mappings at line 1, column 4:

Conversion refuses to guess at malformed YAML and reports the parser's exact error location instead.

Corrected version

a: b
c: d

Best Practices & Notes

Best Practices

  • Quote any string value that happens to look like a YAML boolean or null keyword before converting, if you need it to stay a string.
  • Validate the YAML first if you're not sure it's well-formed, so a parse error doesn't surprise you mid-conversion.
  • Keep the original YAML around if it has comments you rely on for documentation.

Developer Notes

This calls the `yaml` package's `parse()` and pipes the result straight into `JSON.stringify(value, null, indent)`. No intermediate transformation happens between the two, so the JSON output is a faithful, direct serialization of exactly what the YAML parser resolved your document to.

YAML to JSON Converter Use Cases

  • Feeding a YAML config into a JSON Schema validator
  • Converting a Kubernetes manifest to JSON for a `jq`-based pipeline
  • Preparing YAML test fixtures for a JSON-only test harness
  • Inspecting exactly what a YAML document parses to, including resolved anchors

Common Mistakes

  • Assuming `yes`/`no`/`on`/`off` convert to booleans the way they do in some older YAML 1.1 tools, when this converter's YAML 1.2 core schema keeps them as plain strings.
  • Assuming comments survive the conversion, when JSON has no way to represent them.
  • Converting only part of a multi-document YAML stream without realizing later documents were skipped.

Tips

  • If a value converts to a boolean unexpectedly, quote it in the source YAML and reconvert.
  • Use the YAML Validator first for a quick syntax check before converting a large or unfamiliar file.
  • Pair this with the JSON Formatter's sort-keys option if you need a deterministic, diff-friendly JSON representation.

References

Frequently Asked Questions