YAML to JSON Converter

ENTWICKLER-TOOL

YAML ⇄ JSON Converter

Konvertiere YAML in JSON und JSON in YAML – bidirektional, live und lokal im Browser. Mit Syntax-Highlighting, Fehlererkennung und Download.

Bidirektional Live-Konvertierung Syntax-Highlighting Fehlererkennung Download

Datenschutz-Garantie: Alle Konvertierungen finden zu 100% lokal in deinem Browser statt. Es werden keine Daten an Server gesendet. Perfekt für sensible Konfigurationsdateien, Kubernetes-Manifeste oder API-Daten.

Inhaltsverzeichnis

Schnellübersicht

  • YAML → JSON: Konvertierung mit Live-Vorschau
  • JSON → YAML: Bidirektionale Konvertierung
  • Syntax-Highlighting: Für beide Formate
  • Fehlererkennung: Detaillierte Fehlermeldungen
  • Beispiele: Kubernetes, Docker, CI/CD, API
  • Theorie: YAML vs. JSON im Vergleich
  • Geschichte: Von YAML 1.0 zur Cloud-Native-Ära
  • FAQ: Häufige Fragen zu YAML und JSON

1. YAML ⇄ JSON Konverter

Wähle die Konvertierungsrichtung, gib den Inhalt ein und erhalte sofort das Ergebnis.

YAML Input
0 1
Gib Inhalt ein, um zu konvertieren.
Tauschen
JSON Output
0 1
Ausgabe erscheint hier.
Tastatur-Shortcuts
  • Tab: Fügt 2 Leerzeichen ein (im Editor)
  • Strg/Cmd + Enter: Konvertierung ausführen
  • Strg/Cmd + Shift + S: Richtung tauschen
  • Strg/Cmd + S: Ausgabe herunterladen
  • Strg/Cmd + Shift + C: Ausgabe kopieren

2. YAML vs. JSON verstehen

Beide Formate dienen dem Datenaustausch, haben aber unterschiedliche Stärken.

YAML Grundlagen

YAML (YAML Ain't Markup Language) ist ein menschenfreundliches Datenformat.

  • Einrückung: 2 Spaces (keine Tabs!)
  • Kommentare: Mit #
  • Strings: Meist ohne Anführungszeichen
  • Listen: Mit - Prefix
  • Mehrzeilig: Mit | oder >
name: IT-Grundlagen version: 1.0 tags: - web - dev

JSON Grundlagen

JSON (JavaScript Object Notation) ist ein kompaktes Datenformat.

  • Doppelte Anführungszeichen (Pflicht)
  • Keine Kommentare erlaubt
  • Keine trailing commas
  • 6 Datentypen: String, Number, Bool, Null, Object, Array
  • Universell von allen Sprachen unterstützt
{ "name": "IT-Grundlagen", "version": 1.0, "tags": ["web", "dev"] }

YAML vs. JSON

Wann welches Format verwenden?

  • YAML: Konfigurationen (K8s, Docker, CI/CD)
  • JSON: APIs, Datenaustausch, Datenbanken
  • YAML ist lesbarer für Menschen
  • JSON ist schneller zu parsen
  • YAML unterstützt Kommentare, JSON nicht
  • JSON ist standardisiert (ECMA-404, RFC 8259)
YAML: 2 Spaces Einrückung JSON: { } und [ ] Klammern

YAML-Fallstricke

Häufige Fehler bei YAML:

  • Tabs statt Spaces: YAML erlaubt keine Tabs!
  • Falsche Einrückung: Muss konsistent sein
  • Doppelte Keys: Der letzte gewinnt
  • Norway-Problem: NO wird zu false
  • Ja/Nein: yes, no, on, off = Boolean
  • Zahlen mit führender 0: Werden oktal interpretiert
country: NO # wird zu false! code: 0123 # = 83 (oktal)
Das Norway-Problem
  • In YAML 1.1 wird NO als Boolean false interpretiert!
  • Auch betroffen: yes, no, on, off, y, n
  • Das Land Norwegen (Ländercode NO) wird so zu false
  • Lösung: Wert in Anführungszeichen setzen: country: "NO"
  • In YAML 1.2 wurde dieses Verhalten korrigiert

3. Feature-Vergleich

Direkter Vergleich der beiden Formate:

Feature YAML JSON
Lesbarkeit Sehr gut (Einrückung) Gut (Klammern)
Kommentare ✓ Mit # ✗ Nicht erlaubt
Datentypen Erweitert (Anker, Aliase) 6 native Typen
Multi-Dokumente ✓ Mit --- ✗ Nicht standard
Anker & Aliase ✓ Ja ✗ Nein
Parsing-Geschwindigkeit Langsamer Schneller
Standardisierung YAML 1.2 (2009) ECMA-404, RFC 8259
Verwendung K8s, Docker, CI/CD APIs, NoSQL, Web
Tab-Einrückung ✗ Verboten N/A (Klammern)
Binärdaten ✓ Base64 mit !!binary ✗ Nur Base64-String

4. Geschichte von YAML

Von "Yet Another Markup Language" zu "YAML Ain't Markup Language".

2001

YAML wird veröffentlicht

Clark Evans, Ingy döt Net und Oren Ben-Kiki veröffentlichen YAML 1.0. Der ursprüngliche Name: "Yet Another Markup Language" – später umbenannt in "YAML Ain't Markup Language" (rekursives Akronym).

2004

YAML 1.1

Die Version 1.1 wird veröffentlicht. Sie führt das berüchtigte Norway-Problem ein: NO wird als Boolean false interpretiert. Auch yes, no, on, off werden zu Booleans.

2006

YAML in Ruby on Rails

Ruby on Rails führt YAML-Konfigurationsdateien ein (database.yml, locales). YAML wird populär als Konfigurationsformat für Web-Frameworks.

2009

YAML 1.2 Standard

YAML 1.2 wird veröffentlicht. Das Norway-Problem wird behoben: NO ist nun ein String. Die Spezifikation wird klarer und JSON-kompatibler.

2014

Kubernetes & Docker

Kubernetes wählt YAML als primäres Manifest-Format. Docker Compose nutzt YAML für Multi-Container-Definitionen. YAML wird zum De-facto-Standard für Cloud-Native-Konfigurationen.

2016

CI/CD-Revolution

GitLab CI, GitHub Actions, CircleCI und Travis CI setzen auf YAML für Pipeline-Definitionen. YAML ist aus der DevOps-Welt nicht mehr wegzudenken.

Heute

Cloud-Native-Standard

YAML ist der De-facto-Standard für Konfigurationen in der Cloud-Native-Welt. Helm Charts, Ansible Playbooks, OpenAPI und Serverless-Frameworks nutzen YAML. Alternativen wie TOML und Pkl (Apple) gewinnen an Bedeutung.

5. FAQ – Häufige Fragen

Häufige Fragen zu YAML & JSON

Was bedeutet YAML eigentlich?

YAML ist ein rekursives Akronym und steht für "YAML Ain't Markup Language".

Ursprünglich stand es für "Yet Another Markup Language" – wurde aber umbenannt, um zu betonen, dass YAML keine Auszeichnungssprache ist, sondern ein reines Datenformat wie JSON.

Merksatz: YAML ist wie JSON – nur lesbarer.

Warum funktioniert meine YAML-Datei nicht?

Die häufigsten YAML-Fehler:

  • Tabs statt Spaces: YAML erlaubt keine Tabs! Nur Leerzeichen verwenden.
  • Inkonsistente Einrückung: Alle Ebenen müssen gleich eingerückt sein (meist 2 Spaces).
  • Doppelte Keys: Der letzte Wert gewinnt – oft unerwartet.
  • Falsche Quotes: Bei Sonderzeichen oder Sonderwerten Quotes verwenden.
  • Norway-Problem: NO, yes, on werden zu Booleans.
  • Fehlende Doppelpunkte: Nach jedem Key muss ein : stehen.
  • Falsche Listen: - item muss am Zeilenanfang oder nach Einrückung stehen.
Was ist das Norway-Problem?

In YAML 1.1 werden bestimmte Strings als Boolean interpretiert:

  • yes, Yes, YES → true
  • no, No, NO → false
  • on, On, ON → true
  • off, Off, OFF → false
  • y, n → true / false

Problem: Der Ländercode NO (Norwegen) wird zu false!

Lösung: In Anführungszeichen setzen: country: "NO"

In YAML 1.2 wurde dieses Verhalten korrigiert.

Wann sollte ich YAML statt JSON verwenden?

YAML verwenden für:

  • Konfigurationsdateien: Kubernetes, Docker Compose, Ansible
  • CI/CD-Pipelines: GitHub Actions, GitLab CI, CircleCI
  • Dateien mit Kommentaren: JSON erlaubt keine
  • Mehrzeilige Strings: YAML hat | und >
  • Menschenlesbarkeit: Weniger Klammern und Anführungszeichen

JSON verwenden für:

  • APIs: Standard für REST
  • Performance: Schneller zu parsen
  • Datenaustausch: Universell unterstützt
  • Speicherung: In NoSQL-Datenbanken (MongoDB)
  • Web-Sicherheit: Keine Code-Ausführung wie bei YAML
Ist YAML sicher?

YAML hat einige sicherheitsrelevante Fallstricke:

  • Code-Ausführung: YAML unterstützt !!python/object Tags, die beliebigen Code ausführen können. Niemals unsichere Parser verwenden!
  • Billion Laughs Attack: Anker und Aliase können zu exponentieller Expansion führen – DoS
  • Norway-Problem: Typ-Verwechslungen können zu Fehlern führen

Sicherheits-Tipps:

  • Safe Loader verwenden (z.B. yaml.safe_load() in Python)
  • Keine Tags wie !!python/... erlauben
  • Größenlimits setzen für Anker/Aliase
  • Schema-Validierung nach dem Parsen
Unterstützt YAML Kommentare?

Ja! YAML unterstützt Kommentare mit #:

# Dies ist ein Kommentar
name: IT-Grundlagen  # Inline-Kommentar
version: 1.0

Wichtig: Beim Konvertieren YAML → JSON gehen Kommentare verloren, da JSON keine Kommentare kennt!

Was sind YAML-Anker und Aliase?

Anker (&) und Aliase (*) ermöglichen Wiederverwendung von Daten:

defaults: &defaults
  adapter: postgres
  host: localhost

development:
  <<: *defaults
  database: dev_db

Vorteile:

  • DRY-Prinzip (Don't Repeat Yourself)
  • Weniger Redundanz
  • Leichtere Wartung

Nachteil: Beim Konvertieren zu JSON werden Anker aufgelöst und die Struktur wird größer.

Wie schreibe ich mehrzeilige Strings in YAML?

YAML bietet zwei Möglichkeiten für mehrzeilige Strings:

1. Literal Block (|): Behält Zeilenumbrüche

description: |
  Dies ist ein
  mehrzeiliger Text
  mit Zeilenumbrüchen.

2. Folded Block (>): Faltet Zeilenumbrüche zu Leerzeichen

description: >
  Dies ist ein
  mehrzeiliger Text
  der zu einem einzigen
  Absatz gefaltet wird.

Chomping-Indikatoren:

  • |- oder >-: Kein finaler Zeilenumbruch
  • | oder >: Ein finaler Zeilenumbruch
  • |+ oder >+: Alle finalen Zeilenumbrüche behalten
Welche Dateiendungen sind üblich?

YAML:

  • .yaml – Empfohlen (offiziell)
  • .yml – Häufig verwendet (z.B. Docker Compose)

JSON:

  • .json – Standard
  • .jsonc – JSON with Comments (VS Code)
  • .json5 – JSON5-Format (erweitert)
  • .geojson – GeoJSON
  • .ndjson – Newline Delimited JSON
Kann ich YAML in anderen Sprachen verwenden?

Ja! YAML wird von fast allen Programmiersprachen unterstützt:

  • Python: PyYAML, ruamel.yaml
  • JavaScript: js-yaml, yaml
  • Java: SnakeYAML, Jackson YAML
  • Ruby: Psych (Standard)
  • Go: gopkg.in/yaml.v3
  • Rust: serde_yaml
  • C#: YamlDotNet
  • PHP: Symfony YAML

Tipp: Immer Safe Loader verwenden, um Code-Ausführung zu verhindern!

Zusammenfassung

Die wichtigsten Punkte

  • YAML = "YAML Ain't Markup Language" (rekursives Akronym)
  • YAML ist lesbarer, JSON ist schneller
  • Einrückung: Nur Spaces, niemals Tabs
  • Kommentare: In YAML mit #, in JSON nicht erlaubt
  • Norway-Problem: NO wird in YAML 1.1 zu false
  • Anker & Aliase: YAML-Feature für DRY-Prinzip
  • Verwendung YAML: Kubernetes, Docker, CI/CD, Ansible
  • Verwendung JSON: APIs, Datenaustausch, NoSQL
  • Sicherheit: Safe Loader verwenden, keine Code-Ausführung
  • Konvertierung: Kommentare und Anker gehen bei YAML → JSON verloren
  • Unser Tool: Bidirektionale Live-Konvertierung im Browser

Weitere Tools

JSON Formatter & Validator

Formatiere, validiere und minifiziere JSON mit Syntax-Highlighting.

Zum Tool
XML Formatter & Validator

Formatiere und validiere XML-Dokumente mit Syntax-Highlighting.

Zum Tool
JSON to CSV

Konvertiere JSON-Arrays in CSV-Tabellen für Excel.

Zum Tool
Cron Expression Generator

Erstelle Cron-Ausdrücke mit visueller Oberfläche.

Zum Tool