YAML ↔ TOML Konverter 🔒 Ihre Daten verlassen niemals Ihren Browser.
Konfigurationsdateien zwischen YAML und TOML umwandeln.
Ctrl+SHerunterladen
Über dieses Tool
YAML und TOML beschreiben dieselbe Idee strukturierter Konfiguration, nur mit unterschiedlicher Syntax und unterschiedlichen Einsatzgebieten. YAML dominiert Kubernetes-Manifeste, Docker-Compose-Dateien und CI-Pipelines (GitHub Actions, GitLab CI); TOML ist das bevorzugte Format für Rusts Cargo.toml und Pythons pyproject.toml. Einstellungen von einem Compose-Service in ein Cargo-Projekt zu übertragen — oder umgekehrt — bedeutet meist, alles von Hand neu zu tippen. Dieser YAML-zu-TOML-Konverter online (und umgekehrt TOML zu YAML) übersetzt beide Richtungen sofort und erhält dabei verschachtelte Tabellen, Arrays und Datentypen.
Angetrieben von js-yaml und smol-toml, beide nur auf dieser Seite geladen. Ihre Konfigurationsdateien verlassen niemals den Browser — sicher selbst für Dateien mit internen Hostnamen, Ports oder Umgebungsnamen.
Häufige Fragen
Wofür wird YAML verwendet, und wofür TOML?
YAML ist der Standard für Kubernetes-Manifeste, Docker-Compose-Dateien und CI-Pipelines (GitHub Actions, GitLab CI) — es kommt gut mit tiefer Verschachtelung zurecht. TOML ist das Format, das Rusts Cargo.toml und Pythons pyproject.toml verwenden — es liest sich eher wie eine .ini-Datei und ist beliebt, wo flache, von Hand editierbare Konfiguration zählt. Man muss oft zwischen beiden konvertieren, wenn Einstellungen von einem containerbasierten Projekt in ein Rust- oder Python-Projekt wandern — oder umgekehrt.
Bleiben meine Kommentare beim Konvertieren zwischen YAML und TOML erhalten?
Nein — und das ist eine häufige Falle. Sowohl YAML- als auch TOML-Parser verwerfen Kommentare beim Einlesen des Dokuments; nur die Daten bleiben erhalten. Dieses Tool parst Ihre Eingabe in ein Objekt im Speicher und serialisiert es von Grund auf neu, sodass `#`-Kommentare in beiden Formaten in der Ausgabe verloren gehen. Wenn ein Kommentar etwas Wichtiges dokumentiert, kopieren Sie ihn danach von Hand.
Wird die Array-of-Tables-Syntax ([[section]]) korrekt hin- und zurückkonvertiert?
Ja. Das `[[section]]` von TOML ist einfach ein Array, dessen Elemente zufällig Tabellen (Objekte) sind. Beim Konvertieren TOML → YAML wird daraus eine gewöhnliche YAML-Sequenz von Mappings; wandelt man diese Sequenz zurück in TOML, entstehen die `[[section]]`-Blöcke erneut, weil smol-toml „ein Array, dessen Elemente allesamt einfache Objekte sind" erkennt und dafür automatisch die Array-of-Tables-Syntax ausgibt.
Werden meine YAML- oder TOML-Daten irgendwohin hochgeladen?
Nein. Die Konvertierung läuft vollständig in Ihrem Browser mit den JavaScript-Bibliotheken js-yaml und smol-toml — nichts, was Sie hier eingeben oder einfügen, wird jemals an einen Server gesendet. Das macht es sicher, selbst für Konfigurationsdateien, die interne Hostnamen, Platzhalter für Zugangsdaten oder andere umgebungsspezifische Details enthalten.
Wie mache ich aus meinen docker-compose.yml-Einstellungen eine TOML-Konfiguration für ein Rust- oder Python-Projekt?
Wechseln Sie zum Tab „YAML → TOML“, fügen Sie den relevanten Abschnitt Ihrer docker-compose.yml ein (z. B. nur den `environment:`-Block eines Diensts oder einen selbst hinzugefügten benutzerdefinierten Einstellungsblock), und das entsprechende TOML erscheint sofort rechts — bereit zum Einfügen in Cargo.toml, pyproject.toml oder jede benutzerdefinierte `.toml`-Konfigurationsdatei, die Ihre App liest. Beachten Sie, dass das gesamte eingefügte Dokument auf oberster Ebene zu einem einzigen Objekt aufgelöst werden muss; fügen Sie die komplette Compose-Datei ab `services:` ein, ist das kein Problem, da es sich um eine Zuordnung handelt, aber eine nackte Liste (etwa nur das `ports:`-Array für sich) zeigt einen Fehler, da TOML ein Array nicht als Wurzeldokument darstellen kann.
Kann ich TOML auch zurück in YAML umwandeln, nicht nur YAML in TOML?
Ja — das ist ein bidirektionaler Konverter. Klicken Sie auf den Tab „TOML → YAML" (oder auf Tauschen nach einer YAML → TOML-Umwandlung), um TOML einzufügen und das entsprechende YAML zurückzuerhalten, wobei die von Ihnen gewählte Einrückungsbreite auf die Ausgabe angewendet wird. Beide Richtungen nutzen denselben Ansatz „erst parsen, dann neu serialisieren", sodass verschachtelte Tabellen, Arrays und Array-of-Tables in beide Richtungen korrekt konvertiert werden.