ToolDeck

YAML to JSON

YAML in das JSON-Format konvertieren

Beispiel ausprobieren

YAML-Eingabe

JSON-Ausgabe

Läuft lokal · Sicher zum Einfügen von Secrets
JSON erscheint hier…
Auch ausprobieren:YAML to XML

Was ist die YAML-zu-JSON-Konvertierung?

Die YAML-zu-JSON-Konvertierung überführt Daten, die in YAML (YAML Ain't Markup Language) geschrieben sind, in JSON (JavaScript Object Notation). Beide Formate repräsentieren strukturierte Daten als Schlüssel-Wert-Paare, Sequenzen und verschachtelte Objekte, unterscheiden sich aber in der Syntax. YAML verwendet Einrückungen und minimale Zeichensetzung, während JSON geschweifte Klammern, eckige Klammern und obligatorische Anführungszeichen nutzt. Die Konvertierung zwischen beiden Formaten ist eine häufige Aufgabe, wenn Konfigurationsdaten zwischen Systemen ausgetauscht werden, die unterschiedliche Formate erwarten.

YAML wurde für menschliche Lesbarkeit konzipiert. Es unterstützt Kommentare, mehrzeilige Strings, Anker und Aliase — Funktionen, die in JSON nicht existieren. Beim Konvertieren von YAML nach JSON werden diese YAML-spezifischen Elemente aufgelöst: Anker werden inline expandiert, Kommentare verworfen und mehrzeilige Blöcke zu Escape-Strings. Das Ergebnis ist gültiges JSON, das jeder JSON-Parser lesen kann.

Die YAML 1.2-Spezifikation definiert JSON explizit als Teilmenge von YAML — jedes gültige JSON-Dokument ist damit auch gültiges YAML. Umgekehrt gilt das nicht. YAML-Dokumente mit Kommentaren, Ankern oder komplexen Schlüsseln haben kein direktes JSON-Äquivalent und müssen bei der Konvertierung vereinfacht werden. Dieses Tool übernimmt die Konvertierung automatisch und erzeugt sauberes, gut formatiertes JSON aus jeder gültigen YAML-Eingabe.

YAML 1.2 Specification — yaml.org →

Warum einen Online-YAML-zu-JSON-Konverter verwenden?

YAML manuell in JSON umzuwandeln ist fehleranfällig, besonders bei tief verschachtelten Strukturen oder mehrzeiligen Werten. Ein browserbasiерter Konverter liefert das Ergebnis sofort und erkennt YAML-Syntaxfehler, bevor sie die Anwendung erreichen.

Sofortige Konvertierung im Browser
YAML einfügen und formatierte JSON-Ausgabe in Millisekunden erhalten. Keine CLI-Tools zu installieren, kein Build-Schritt, keine Abhängigkeiten zu verwalten.
🔀
Jede gültige YAML-Struktur verarbeiten
Unterstützt verschachtelte Mappings, Sequenzen, mehrzeilige Strings (Literal- und Folded-Blöcke), Anker, Aliase, Merge-Keys und alle skalaren YAML 1.2-Typen.
🔒
Daten privat halten
Das gesamte Parsing läuft lokal im Browser mit JavaScript. YAML-Inhalte werden nie an einen Server übertragen — damit bleiben Konfigurationsdateien mit Zugangsdaten oder internen Pfaden privat.
📋
Ausgabeformat kopieren oder anpassen
Zwischen 2-Leerzeichen- und 4-Leerzeichen-Einrückung wechseln. Das JSON-Ergebnis mit einem Klick in die Zwischenablage kopieren — direkt einsatzbereit in Code, API-Anfragen oder Konfigurationsdateien.

Anwendungsfälle für YAML zu JSON

Frontend-Entwicklung
YAML-Konfigurationsdateien aus einem Design-System oder CMS in JSON konvertieren, damit JavaScript-Bundler, REST-APIs oder i18n-Bibliotheken, die JSON-Eingaben benötigen, die Daten verarbeiten können.
Backend-Entwicklung
Spring Boot application.yml oder Rails database.yml in JSON umwandeln, um Deployment-Skripte, API-Gateways oder Dienste zu versorgen, die ausschließlich JSON-Konfiguration akzeptieren.
DevOps und CI/CD
docker-compose.yml, GitHub Actions-Workflows oder Kubernetes-Manifeste in JSON konvertieren — für Validierungstools, Policy-Engines wie OPA oder das Debugging mit jq.
QA und Testing
YAML-Test-Fixtures in JSON-Payloads umwandeln, die API-Testtools wie Postman, Insomnia oder automatisierte Test-Suiten als JSON-Request-Bodies erwarten.
Data Engineering
YAML-formatierte Pipeline-Definitionen (Airflow, dbt, Dagster) in JSON konvertieren — für Schema-Validierung, programmatische Verarbeitung oder Integration mit Metadaten-Katalogen.
Lernen und Dokumentation
Schnell nachvollziehen, wie YAML-Strukturen auf ihre JSON-Entsprechungen abgebildet werden — beim Studium von Konfigurationsformaten oder beim Schreiben von Dokumentation.

YAML-zu-JSON-Typmapping — Referenz

Jeder YAML-Datentyp wird bei der Konvertierung auf einen bestimmten JSON-Typ abgebildet. Die Tabelle zeigt jeden YAML-Konstrukt zusammen mit der entsprechenden JSON-Ausgabe. Das Verständnis dieser Zuordnungen hilft, vorherzusagen, wie die YAML-Daten nach der Konvertierung aussehen — und vermeidet Überraschungen bei Typen wie Booleans oder Null-Werten.

YAML-TypYAML-SyntaxJSON-Ausgabe
Mappingname: Alice{ "name": "Alice" }
Sequence- apple\n- banana["apple", "banana"]
Stringgreeting: hello world"hello world"
Integercount: 4242
Floatratio: 3.143.14
Booleanactive: truetrue
Nullvalue: nullnull
Multiline (|)bio: |\n Line one\n Line two"Line one\nLine two\n"
Folded (>)note: >\n A long\n paragraph"A long paragraph\n"
Anchor/Alias&default\n <<: *defaultResolved inline (no $ref)

YAML vs. JSON — Syntaxvergleich

YAML und JSON repräsentieren dasselbe Datenmodell, unterscheiden sich aber in den Syntaxregeln. Die folgenden Unterschiede erklären, warum bestimmte YAML-Funktionen — wie Kommentare und Anker — kein JSON-Äquivalent haben.

YAML
Verwendet Einrückungen für Verschachtelung (keine Klammern). Unterstützt Kommentare mit #. Strings benötigen meist keine Anführungszeichen. Erlaubt mehrzeilige Werte mit | (literal) und > (folded) Block-Scalaren. Unterstützt Anker (&name) und Aliase (*name) zur Wiederverwendung. In YAML 1.2 werden nur true und false als Boolean-Werte erkannt; ältere YAML 1.1-Parser akzeptierten auch yes, no, on und off — in YAML 1.2 werden diese als einfache Strings behandelt.
JSON
Verwendet geschweifte und eckige Klammern für Verschachtelung. Keine Kommentarsyntax. Alle Strings müssen in doppelten Anführungszeichen stehen. Keine mehrzeiligen String-Literale — stattdessen \n-Escape-Sequenzen verwenden. Kein Anker- oder Alias-Mechanismus. Boolean-Werte sind strikt lowercase true und false. Alle Schlüssel müssen in Anführungszeichen stehen. Abschließende Kommas sind ungültig.

Code-Beispiele

Nachfolgend funktionsfähige Beispiele zur programmatischen Konvertierung von YAML nach JSON. Jedes Beispiel parst einen YAML-String und gibt formatiertes JSON aus.

JavaScript (Node.js)
import { load } from 'js-yaml'

const yamlStr = `
server:
  host: localhost
  port: 8080
  ssl: true
`

const json = JSON.stringify(load(yamlStr), null, 2)
console.log(json)
// → {
// →   "server": {
// →     "host": "localhost",
// →     "port": 8080,
// →     "ssl": true
// →   }
// → }
Python
import yaml, json

yaml_str = """
database:
  host: db.example.com
  port: 5432
  credentials:
    user: admin
    password: s3cret
"""

data = yaml.safe_load(yaml_str)
print(json.dumps(data, indent=2))
# → {
# →   "database": {
# →     "host": "db.example.com",
# →     "port": 5432,
# →     "credentials": {
# →       "user": "admin",
# →       "password": "s3cret"
# →     }
# →   }
# → }
Go
package main

import (
	"encoding/json"
	"fmt"
	"log"
	"gopkg.in/yaml.v3"
)

func main() {
	yamlData := []byte(`
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
`)

	var obj map[string]interface{}
	if err := yaml.Unmarshal(yamlData, &obj); err != nil {
		log.Fatal(err)
	}
	jsonBytes, _ := json.MarshalIndent(obj, "", "  ")
	fmt.Println(string(jsonBytes))
	// → { "services": { "web": { "image": "nginx:latest", "ports": ["80:80"] } } }
}
CLI (yq + jq)
# Convert a YAML file to JSON with yq
yq -o=json config.yaml > config.json

# Pipe YAML into yq for one-off conversion
echo "name: demo" | yq -o=json
# → { "name": "demo" }

# Python one-liner (no extra install on most systems)
python3 -c "import yaml, json, sys; print(json.dumps(yaml.safe_load(sys.stdin), indent=2))" < config.yaml

Häufig gestellte Fragen

Ist YAML eine Obermenge von JSON?
Ja, seit YAML 1.2 (veröffentlicht 2009). Jedes gültige JSON-Dokument ist auch gültiges YAML. Die YAML-Spezifikation wurde bewusst aktualisiert, um vollständige JSON-Kompatibilität sicherzustellen. Umgekehrt gilt das nicht — YAML-Funktionen wie Kommentare, Anker und unquotierte Schlüssel haben kein JSON-Äquivalent.
Was passiert mit YAML-Kommentaren bei der Konvertierung?
Kommentare werden verworfen. JSON kennt keine Kommentarsyntax — alle mit # beginnenden Zeilen im YAML-Input gehen bei der Konvertierung verloren. Wer Kommentare erhalten möchte, sollte die ursprüngliche YAML-Datei als Quelle behalten und bei Bedarf JSON daraus erzeugen.
Wie werden YAML-Anker und -Aliase behandelt?
Anker (&name) und Aliase (*name) werden beim Parsing aufgelöst. Der Alias wird durch eine vollständige Kopie der verankerten Daten ersetzt. Das resultierende JSON enthält keine Referenzen — alle Werte sind inline expandiert. Merge-Keys (<<: *name) werden auf dieselbe Weise aufgelöst.
Kann bei der YAML-zu-JSON-Konvertierung Datenverlust auftreten?
Bei Datenwerten nein. Alle skalaren YAML-Typen (Strings, Zahlen, Booleans, null) haben direkte JSON-Entsprechungen. Was verloren geht: Kommentare, Tag-Direktiven, Ankernamen und der Unterschied zwischen Block- und Flow-Stil. Wenn das YAML auf Custom-Tags setzt (!!python/object, !!timestamp), werden diese zu einfachen Werten aufgelöst oder führen je nach Parser zu einem Parse-Fehler.
Warum wird mein YAML-Boolean 'yes' in JSON zu einem String?
Dieses Tool verwendet js-yaml v4, das der YAML 1.2-Boolean-Auflösung folgt. Nur true und false (in beliebiger Groß-/Kleinschreibung) werden als Booleans erkannt. Werte wie yes, no, on und off werden als einfache Strings behandelt und erscheinen in der JSON-Ausgabe als Strings in Anführungszeichen. Wenn unerwartete String-Werte auftreten, wo Booleans erwartet werden, true oder false in der YAML-Quelle verwenden.
Wie groß darf die YAML-Datei maximal sein?
Das Tool läuft im Browser, daher hängt das Limit vom verfügbaren Arbeitsspeicher des Geräts ab. In der Praxis lassen sich Dateien bis zu mehreren Megabytes problemlos konvertieren. Bei sehr großen Dateien (50 MB+) ist ein CLI-Tool wie yq oder ein Python-Skript mit PyYAML zuverlässiger, da diese Daten streamen können, statt alles auf einmal in den Speicher zu laden.
Wie werden mehrzeilige YAML-Strings in JSON konvertiert?
YAML hat zwei mehrzeilige Block-Scalar-Stile. Literal-Blöcke (|) erhalten Zeilenumbrüche als \n-Zeichen im JSON-String. Folded-Blöcke (>) ersetzen einzelne Zeilenumbrüche durch Leerzeichen und wandeln mehrere Zeilen in einen einzelnen Absatz um. Beide Stile hängen standardmäßig einen abschließenden Zeilenumbruch an, der mit dem Chomping-Indikator (|- oder >-) entfernt werden kann.