Zum Inhalt springen

TOML

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 19.10.2026

TOML ist ein Format für Konfiguration, das eindeutige Regeln über Lesbarkeit stellt und dadurch die Fallstricke von YAML vermeidet.

TOML

Ein Format für Konfigurationsdateien, dessen Regeln so gefasst sind, dass jede Datei genau eine Bedeutung hat.
Beispiel: „Die Werkzeugeinstellungen stehen in TOML, weil dort eine Postleitzahl nicht versehentlich zur Zahl wird.“

Die Abkürzung steht für Tom's Obvious Minimal Language, benannt nach ihrem Erfinder Tom Preston-Werner, einem der GitHub-Gründer, auf Deutsch etwa Toms naheliegende minimale Sprache.

Was es gegenüber YAML besser macht

YAML versucht, Werte zu deuten, und erzeugt damit die bekannten Überraschungen: Eine führende Null verschwindet, und ein Wort wie no wird zum Wahrheitswert. TOML legt für jeden Typ eine eindeutige Schreibweise fest.

Dazu kommt die Struktur. Verschachtelung entsteht über Abschnitte in eckigen Klammern statt über Einrückung, womit ein verschobenes Leerzeichen folgenlos bleibt.

# Abschnitte statt Einrückung
titel = "Stuhl"
preis = 89.00
plz = "01067"        # Text bleibt Text
verfuegbar = true
farben = ["rot", "blau"]

[hersteller]
name = "Beispiel GmbH"
land = "DE"

Was es nicht kann

Tief verschachtelte Strukturen werden unübersichtlich. Wo YAML mit Einrückung beliebig tief geht, braucht TOML für jede Ebene einen eigenen Abschnitt mit vollem Pfad im Namen.

Für Konfiguration ist das selten ein Problem, weil die meisten Einstellungen flach sind. Wer verschachtelte Daten übertragen will, ist mit JSON besser bedient; dafür ist TOML auch nicht gedacht.

Wo es benutzt wird

In der Werkzeugwelt moderner Sprachen: Rust legt seine Paketdefinition darin ab, Python inzwischen ebenfalls. Im PHP- und JavaScript-Umfeld ist es selten, dort haben JSON und YAML die Rollen besetzt.

Begegnen kann es dir trotzdem, sobald in einem Projekt Werkzeuge aus diesen Welten mitlaufen, etwa ein in Rust geschriebener Formatierer.

Siehe auch:

YAML

Ein Format für Konfiguration, das die Struktur durch Einrückung ausdrückt.

#Programmiersprachen

JSON

Das Format, in dem Daten heute durch das Web reisen.

#Programmiersprachen

Konfigurationssprache

Hält Einstellungen fest, die ein Programm beim Start liest, getrennt vom Code.

#Programmiersprachen

Datentyp

Die Art eines Wertes: Zahl, Text oder Wahrheitswert. Daran hängt, was sich damit anstellen lässt.

#Programmiersprachen