YAML Converter

Free YAML to JSON converter. Paste YAML and get JSON instantly, or switch to JSON ? YAML mode. Works with Docker Compose, Kubernetes, GitHub Actions, and any config file.

YAML Input
JSON Output
{
  "name": "mydb",
  "version": "4.17.21",
  "description": "A sample project",
  "database": {},
  "host": "localhost",
  "port": 5432,
  "credentials": {},
  "username": "admin",
  "password": "secret123",
  "features": [
    "authentication",
    "caching",
    "logging"
  ],
  "dependencies": [
    {
      "name": "express"
    }
  ]
}

YAML vs JSON Comparison

Feature
YAML
JSON
Readability
? Very readable
?? Moderate
Comments
? # comments
? Not supported
Strictness
?? Flexible
? Strict syntax
File extension
.yml / .yaml
.json
Multi-line strings
? | and >
? Escape only
Anchors/aliases
? &anchor *alias
? Not supported
Used for
Config, CI/CD, K8s
APIs, data exchange
Data types
Auto-detected
Explicit
Whitespace
Significant (indent)
Not significant
Superset of
JSON (since YAML 1.2)
-

Where YAML and JSON Are Used

YAML Common Uses

  • Docker Compose (docker-compose.yml)
  • Kubernetes manifests
  • GitHub Actions workflows
  • GitLab CI (.gitlab-ci.yml)
  • Ansible playbooks
  • Swagger/OpenAPI specs
  • Helm charts
  • Spring Boot configs

JSON Common Uses

  • REST API responses
  • package.json (Node.js)
  • tsconfig.json (TypeScript)
  • .eslintrc.json
  • MongoDB documents
  • Web storage (localStorage)
  • Firebase/Firestore
  • VS Code settings

Frequently Asked Questions

What is YAML?

YAML (YAML Ain't Markup Language) is a human-readable data serialization format. It uses indentation for structure instead of braces/brackets. Used for config files (Docker, Kubernetes, GitHub Actions, Ansible), CI/CD pipelines, and data exchange.

What is the difference between YAML and JSON?

YAML uses indentation and is more human-readable. JSON uses braces {} and brackets []. YAML supports comments (#), JSON doesn't. JSON is stricter and better for APIs. YAML is preferred for config files. Every JSON file is valid YAML.

How do I convert YAML to JSON?

Paste YAML in our converter and get JSON instantly. Programmatically: use js-yaml (JavaScript), PyYAML (Python), or yaml gem (Ruby). Command line: yq or python -c 'import yaml,json; print(json.dumps(yaml.safe_load(open("file.yaml"))))'.

How do I convert JSON to YAML?

Paste JSON in our converter (switch to JSON?YAML mode). Programmatically: use js-yaml.dump() in JavaScript or yaml.dump() in Python. The conversion preserves all data types.

Where is YAML used?

Docker Compose (docker-compose.yml), Kubernetes (deployment.yaml), GitHub Actions (.github/workflows), GitLab CI (.gitlab-ci.yml), Ansible playbooks, Swagger/OpenAPI specs, and application config files.

Where is JSON used?

REST APIs, package.json (Node.js), tsconfig.json (TypeScript), .eslintrc.json, browser localStorage, MongoDB, web sockets, and any data interchange between client/server.

Does YAML support comments?

Yes. Use # for comments in YAML. JSON does NOT support comments (except in JSONC format used by VS Code). This is a major advantage of YAML for config files.

Is every JSON file valid YAML?

Yes. JSON is a subset of YAML (since YAML 1.2). Any valid JSON can be parsed as YAML. But not every YAML file is valid JSON because YAML has features JSON lacks (comments, anchors, multi-line strings).

What are YAML anchors?

Anchors (&) and aliases (*) let you reuse values: defaults: &defaults adapter: postgres host: localhost. production: <<: *defaults database: prod_db. This avoids repetition in config files.

YAML vs TOML vs JSON - which should I use?

JSON: APIs, data interchange, strict typing needed. YAML: complex configs, CI/CD, Kubernetes. TOML: simple configs (Cargo.toml, pyproject.toml). Use JSON for data, YAML for infrastructure, TOML for app settings.

Disclaimer: This converter handles standard YAML/JSON structures. Complex YAML features (anchors, multi-doc, custom tags) may need manual adjustment.