YAML

YAML Yet Another Markup Language YAML Ain't Markup Language

Glossar

YAML (rekursiv für „YAML Ain’t Markup Language", ursprünglich „Yet Another Markup Language") ist eine menschenlesbare Datenbeschreibungssprache, die vor allem für Konfigurationsdateien und Datenstrukturierung verwendet wird. YAML nutzt eine einfache, auf Einrückung basierende Syntax, um komplexe Daten in einer leicht lesbaren und schreibbaren Form darzustellen, und wird häufig für Konfigurationsdateien, APIs und Datenübertragung eingesetzt.

YAML-Syntax im Überblick

name: aceArt GmbH
gegründet: 2015
leistungen:
  - Webentwicklung
  - App-Entwicklung
  - SEO
kontakt:
  ort: Stuttgart
  aktiv: true

Struktur entsteht ausschließlich durch Einrückung mit Leerzeichen – Tabs sind laut Spezifikation nicht erlaubt, da sie je nach Editor unterschiedlich breit dargestellt werden und die Struktur uneindeutig machen würden. Listen werden mit einem Bindestrich, verschachtelte Objekte durch zusätzliche Einrückungsebenen dargestellt.

YAML vs. JSON

Beide Formate bilden dieselben Datenstrukturen ab, unterscheiden sich aber deutlich in der Zielsetzung:

YAMLJSON
Lesbarkeit für MenschenHoch, durch Einrückung statt KlammernGeringer, kompakt und klammernlastig
KommentareUnterstützt (# Kommentar)Nicht unterstützt
StrukturfehlerSchwerer zu erkennen (unsichtbare Einrückungsfehler)Leichter zu erkennen (fehlende Klammer sichtbar)
Typischer EinsatzKonfigurationsdateienAPIs, Datenaustausch zwischen Systemen

Da JSON eine Teilmenge von YAML ist, ist jedes gültige JSON-Dokument automatisch auch gültiges YAML.

Häufige Stolperfallen

  • Tabs statt Leerzeichen: Führt zu Parser-Fehlern, da YAML ausschließlich Leerzeichen zur Einrückung erlaubt.
  • Unquotierte mehrdeutige Werte: Wörter wie yes, no, on oder off werden von manchen YAML-Parsern automatisch als Boolean interpretiert – etwa problematisch bei Ländercodes wie NO. Im Zweifel immer in Anführungszeichen setzen.
  • Inkonsistente Einrückungstiefe: Anders als bei geschweiften Klammern in JSON verändert ein einzelnes falsches Leerzeichen in YAML stillschweigend die Dokumentstruktur, ohne einen offensichtlichen Fehler zu erzeugen.

Ein solides Verständnis der zugrunde liegenden Syntax hilft dabei, solche Fehler frühzeitig zu erkennen, statt sie erst bei der Ausführung zu bemerken.

YAML in CI/CD und Container-Infrastruktur

YAML ist heute praktisch der Standard für Konfigurationsdateien in modernen Entwicklungs-Workflows: CI/CD-Pipelines definieren Build- und Deployment-Schritte in YAML, Docker Compose-Dateien beschreiben Container-Setups, und Kubernetes nutzt YAML als primäres Format für praktisch jede Ressourcendefinition. Die gute menschliche Lesbarkeit macht YAML besonders geeignet für Dateien, die regelmäßig manuell gepflegt und im Code-Review gelesen werden.

Fazit

YAML hat sich als Standard für lesbare, wartbare Konfigurationsdateien etabliert – von einfachen Anwendungseinstellungen bis zu komplexen CI/CD- und Kubernetes-Infrastrukturen. Bei der Einrichtung und Wartung entsprechender Deployment- und Infrastruktur-Konfigurationen unterstützen wir dich gerne im Rahmen unserer individuellen Softwareentwicklung oder direkt im unverbindlichen Beratungsgespräch.

Häufige Fragen

Ist YAML dasselbe wie JSON?
Nicht ganz, auch wenn beide dieselben Datenstrukturen (Listen, Objekte, skalare Werte) abbilden können. YAML ist auf menschliche Lesbarkeit optimiert und nutzt Einrückungen statt Klammern, JSON ist kompakter und für maschinelle Verarbeitung optimiert. Praktisch: Jedes gültige JSON-Dokument ist auch gültiges YAML, da YAML eine Obermenge von JSON ist.
Warum darf man in YAML keine Tabs für die Einrückung verwenden?
Weil die YAML-Spezifikation Tabs für Einrückung explizit verbietet – nur Leerzeichen sind erlaubt. Der Grund ist Eindeutigkeit: Tabs werden von unterschiedlichen Editoren und Terminals unterschiedlich breit dargestellt, was die Struktur eines Dokuments je nach Anzeige unterschiedlich interpretierbar machen würde.
Warum werden manche Werte in YAML unerwartet interpretiert, z. B. "no" als false?
Ältere YAML-Versionen interpretieren bestimmte unquotierte Wörter wie yes, no, on oder off automatisch als Boolean-Werte statt als Text – ein berüchtigtes Problem, das in der Praxis etwa bei Ländercodes wie NO (Norwegen) zu Fehlern führt. Um das zu vermeiden, sollten solche mehrdeutigen Werte immer explizit in Anführungszeichen gesetzt werden.
Wofür wird YAML in der Praxis am häufigsten eingesetzt?
Vor allem für Konfigurationsdateien: CI/CD-Pipelines (etwa GitHub Actions oder GitLab CI), Container-Orchestrierung mit Kubernetes, Docker-Compose-Dateien und Infrastructure-as-Code-Tools. Die gute menschliche Lesbarkeit macht YAML besonders geeignet für Dateien, die regelmäßig von Menschen gelesen und manuell bearbeitet werden.
Kann man YAML und JSON mischen?
Ja, sogar innerhalb derselben Datei – da JSON eine Teilmenge von YAML ist, lassen sich JSON-Syntax-Elemente wie { } und [ ] direkt in YAML-Dokumenten verwenden. In der Praxis wird das selten gemacht, ist aber technisch problemlos möglich und manchmal für kompakte, einzeilige Listen praktisch.
Was macht YAML schwieriger zu debuggen als JSON?
Vor allem die Bedeutung von Einrückung: Ein einzelnes falsch gesetztes Leerzeichen kann die gesamte Dokumentstruktur verändern, ohne dass sofort ein offensichtlicher Syntaxfehler entsteht. JSON macht Struktur dagegen durch explizite Klammern sichtbar, was Fehler beim Debuggen leichter auffindbar macht – dafür ist JSON für Menschen insgesamt weniger angenehm zu lesen und zu schreiben.
← Zurück zum Glossar
STARTSEITEGLOSSARYAML