ToolDeck

TOML Formatter

TOML-Konfigurationsdateien formatieren und validieren

Beispiel ausprobieren

TOML-Eingabe

Formatiertes TOML

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

Letzte Aktualisierung: April 2026

Was ist TOML-Formatierung?

TOML (Tom's Obvious Minimal Language) ist ein Konfigurationsdateiformat, das Tom Preston-Werner im Jahr 2013 entwickelt hat. Es bildet direkt auf eine Hash-Tabelle ab und verwendet explizite Typisierung für alle Werte. Ein TOML-Formatter nimmt rohe oder uneinheitlich gestaltete TOML-Daten und serialisiert sie mit gleichmäßigem Abstand, korrekter Einrückung und kanonischer Schlüsselanordnung neu. Das Ergebnis ist eine Datei, die im gesamten Projekt denselben Konventionen folgt und Config-Änderungen in Diffs leichter nachvollziehbar macht.

Die TOML-v1.0.0-Spezifikation, die im Januar 2021 finalisiert wurde, definiert die Grammatik so streng, dass jeder konforme Parser aus derselben Eingabe eine identische Datenstruktur erzeugt. Formatierung verändert den semantischen Inhalt einer TOML-Datei nicht. Sie passt ausschließlich Leerzeichen, Schlüsselgruppierung und Anführungsstil an. Das bedeutet: TOML-Dateien können bedenkenlos formatiert werden, ohne das Verhalten der Anwendung zu beeinflussen.

Im Gegensatz zu JSON unterstützt TOML Kommentare, native Datum-Uhrzeit-Typen und mehrere String-Formen (einfach, literal und mehrzeilig). Ein guter Formatter bewahrt Kommentare und respektiert den Unterschied zwischen Inline-Tabellen und Standard-Tabellenheadern. Er behandelt auch Arrays von Tabellen korrekt und hält die Abschnittsgruppiering intakt, damit die Datei sowohl für Menschen als auch für Parser lesbar bleibt.

Before · toml
After · toml
title="My App"
version="1.0.0"
debug=false
[database]
host="localhost"
port=5432
name="mydb"
[database.pool]
max_connections=25
timeout=30
[[servers]]
name="web"
host="web.example.com"
[[servers]]
name="api"
host="api.example.com"
title = "My App"
version = "1.0.0"
debug = false

[database]
host = "localhost"
port = 5432
name = "mydb"

[database.pool]
max_connections = 25
timeout = 30

[[servers]]
name = "web"
host = "web.example.com"

[[servers]]
name = "api"
host = "api.example.com"

Warum einen TOML-Formatter verwenden?

Konfigurationsdateien häufen mit der Zeit Stilabweichungen an, wenn verschiedene Teammitglieder sie bearbeiten. Tabs mischen sich mit Leerzeichen, manche Schlüssel werden unnötigerweise in Anführungszeichen gesetzt, und Tabellenabschnitte verlieren ihre visuelle Gruppierung. Ein TOML-Formatter normalisiert all das in einem einzigen Durchgang.

Sofortige Formatierung
Unformatiertes TOML einfügen und sofort eine sauber und einheitlich gestaltete Ausgabe erhalten. Kein CLI-Install, kein Projekt-Setup, kein Warten auf einen Build-Schritt.
🔒
Datenschutz an erster Stelle
Das gesamte Parsen und Formatieren läuft im Browser. Ihre Konfigurationsdaten — einschließlich Zugangsdaten oder interner Hostnamen — verlassen Ihren Rechner nie.
Validierung inklusive
Der Formatter parst Ihr TOML vor der erneuten Serialisierung. Enthält die Eingabe Syntaxfehler, erhalten Sie eine klare Fehlermeldung mit der problematischen Zeile — Formatierung funktioniert also gleichzeitig als Validierung.
📋
Kein Konto erforderlich
Seite öffnen und sofort formatieren. Keine Registrierung, kein Rate-Limit und kein Nutzungs-Tracking. Das Tool verhält sich bei jedem Aufruf identisch.

Anwendungsfälle für den TOML Formatter

Frontend-Entwicklung
Wrangler.toml-Dateien für Cloudflare-Workers-Projekte oder deno.toml-Konfigurationen für Deno-basierte Frontends formatieren. Saubere Formatierung hilft beim Review von Deployment-Configs in Pull Requests.
Backend-Entwicklung
Cargo.toml-Dateien über mehrere Rust-Microservices hinweg vereinheitlichen. Konsistente Formatierung erleichtert das schnelle Überprüfen von Abhängigkeitsversionen und Feature-Flags über Repositories hinweg.
DevOps und CI/CD
Konfigurationsdateien wie .goreleaser.toml, netlify.toml oder Starship-Prompt-Configs vor dem Commit formatieren. Eine Formatierungsprüfung in CI-Pipelines integrieren, um Stilkonsistenz durchzusetzen.
QA und Testing
Test-Fixtures schnell formatieren, damit sie lesbar und diff-bar sind. Wenn ein Test aufgrund von Config-Unterschieden fehlschlägt, machen formatierte Dateien den Ist-Soll-Vergleich offensichtlich.
Data Engineering
Telegraf- oder InfluxDB-Configs formatieren, die Datenerfassungs-Pipelines definieren. Diese Dateien wachsen oft auf Hunderte von Zeilen an, und konsistente Formatierung hält sie wartbar.
TOML-Syntax erlernen
Beispiele aus Dokumentation oder Tutorials einfügen und beobachten, wie ein Formatter sie normalisiert. Das ist ein schneller Weg, um zu lernen, welche Klammerstile, Anführungsregeln und Tabellengruppierungen kanonisch sind.

TOML-Syntax-Referenz

TOML hat einen überschaubaren Satz an Konstrukten. Die nachfolgende Tabelle listet alle strukturellen Elemente auf, die in der TOML-v1.0.0-Spezifikation definiert sind. Ein Formatter wendet auf alle davon konsistente Abstände und Gruppierungen an.

SyntaxNameHinweise
key = "value"Basic key-value pairKeys are bare or quoted; values are typed
[table]Standard tableCreates a named section (hash table)
[a.b.c]Dotted tableShorthand for nested tables
[[array]]Array of tablesEach [[name]] block appends to an array
key = """...\n"""Multi-line basic stringAllows newlines, escapes processed
key = '''...\n'''Multi-line literal stringAllows newlines, no escape processing
# commentCommentExtends to end of line; not in JSON output
{inline = true}Inline tableSingle-line table, no newlines allowed

TOML vs. JSON vs. YAML

TOML, JSON und YAML lösen überlappende Probleme, treffen aber unterschiedliche Kompromisse.

MerkmalTOMLJSONYAML
Kommentare# ZeilenkommentareNicht unterstützt# Zeilenkommentare
Typisierte WerteString, int, float, bool, datetimeString, number, bool, nullAbgeleitet (fehleranfällig)
Verschachtelung[table]-HeaderGeschweifte KlammernEinrückungsbasiert
SpezifikationsstrengeStreng (ein Parse-Ergebnis)Streng (RFC 8259)Locker (mehrere gültige Parses)
Datum-/Uhrzeit-Unterstützung4 native TypenKeine (Strings verwenden)Implizit (fragil)
Abschließende KommasNicht erlaubtNicht erlaubtK. A. (keine Kommas)

Code-Beispiele

Die folgenden Beispiele zeigen, wie TOML programmatisch in verschiedenen Sprachen und Tools formatiert wird. Jedes liest eine Datei, parst sie und schreibt eine formatierte Version.

JavaScript (Node.js)
import { parse, stringify } from '@iarna/toml'
import fs from 'fs'

const raw = fs.readFileSync('config.toml', 'utf-8')
const doc = parse(raw)
const formatted = stringify(doc)
// stringify() outputs canonical TOML with consistent spacing
fs.writeFileSync('config.toml', formatted)

// Quick one-liner with npx:
// npx taplo fmt config.toml
Python
import tomllib   # Python 3.11+ (read-only)
import tomli_w   # pip install tomli-w (write)

# Parse and re-serialize to format
with open("config.toml", "rb") as f:
    data = tomllib.load(f)

formatted = tomli_w.dumps(data)
# tomli_w produces sorted keys, consistent quoting, and
# proper whitespace around = signs
print(formatted)

# CLI alternative: taplo fmt config.toml
Go
package main

import (
    "fmt"
    "os"
    "github.com/BurntSushi/toml"
    "bytes"
)

func main() {
    var data map[string]interface{}
    _, err := toml.DecodeFile("config.toml", &data)
    if err != nil {
        fmt.Fprintln(os.Stderr, err) // parse error with line number
        os.Exit(1)
    }
    var buf bytes.Buffer
    enc := toml.NewEncoder(&buf)
    enc.Indent = "  "
    enc.Encode(data) // re-serialized with consistent formatting
    fmt.Print(buf.String())
}
CLI (taplo)
# Install taplo — the standard TOML toolkit
cargo install taplo-cli
# or: npm install -g @taplo/cli

# Format a single file in place
taplo fmt config.toml

# Format all .toml files in a project
taplo fmt

# Check formatting without modifying (CI-friendly)
taplo fmt --check

# Validate TOML syntax without formatting
taplo lint config.toml

Häufig gestellte Fragen

Was macht ein TOML-Formatter?
Ein TOML-Formatter parst die Datei in eine Datenstruktur und serialisiert sie anschließend mit konsistenten Leerzeichen, Schlüsselanordnung und Anführungsstil neu. Der semantische Inhalt bleibt gleich. Nur die visuelle Darstellung ändert sich: Abstände um Gleichheitszeichen, Leerzeilen zwischen Tabellenabschnitten und Einrückung verschachtelter Werte.
Ist TOML-Formatierung sicher für Produktions-Config-Dateien?
Ja. Formatierung ändert ausschließlich Leerzeichen und kosmetische Details. Die geparste Datenstruktur ist vor und nach der Formatierung identisch. Stößt der Formatter auf ungültige Eingaben, gibt er einen Fehler aus, anstatt fehlerhafte Ausgaben zu erzeugen. Sie können das überprüfen, indem Sie beide Versionen parsen und die resultierenden Objekte vergleichen.
Wie unterscheidet sich TOML von JSON?
TOML unterstützt Kommentare, native Datum-Uhrzeit-Typen, mehrzeilige Strings und Tabellenheader zur Strukturierung verschachtelter Daten. JSON bietet all das nicht. Das Format ist für Konfigurationsdateien konzipiert, die Menschen lesen und bearbeiten. JSON ist für den Datenaustausch zwischen Programmen gedacht. In JSON sind keine Kommentare möglich, was das Dokumentieren von Config-Entscheidungen direkt in der Datei erschwert.
Kann ich TOML über die Kommandozeile formatieren?
Ja. Taplo ist der am weitesten verbreitete TOML-Formatter für die CLI. Installieren Sie es mit cargo install taplo-cli oder npm install -g @taplo/cli, und führen Sie dann taplo fmt aus, um alle .toml-Dateien im Projekt zu formatieren. Es unterstützt die Konfiguration über eine taplo.toml- oder .taplo.toml-Datei für eigene Regeln.
Bewahrt die Formatierung Kommentare in TOML-Dateien?
Dieser browserbasierte Formatter parst die Eingabe in eine Datenstruktur und serialisiert sie neu, wobei Kommentare entfernt werden. Wenn Sie Kommentare erhalten müssen, verwenden Sie ein CST-fähiges Tool wie Taplo (CLI) oder toml-edit (Rust-Bibliothek), die auf dem konkreten Syntaxbaum statt auf den geparsten Daten arbeiten.
Was ist der Unterschied zwischen TOML-Formatierung und TOML-Validierung?
Validierung prüft, ob die Datei der Spezifikation entspricht, und meldet Fehler, wenn nicht. Formatierung geht einen Schritt weiter: Sie validiert die Eingabe und schreibt sie dann mit normalisiertem Stil neu. Jede Formatierungsoperation beinhaltet als ersten Schritt eine Validierung — eine Datei, die erfolgreich formatiert wird, ist daher garantiert gültig.
Welche Projekte verwenden TOML als Konfigurationsformat?
Rust's Cargo (Cargo.toml), Pythons Packaging-Ökosystem (pyproject.toml), Hugo Static Sites, Deno (deno.toml), Cloudflare Workers (wrangler.toml), InfluxDB, Telegraf und Starship Prompt verwenden alle TOML. Das Format gewann an Popularität, nachdem Rust es 2015 als Standard für Paket-Manifeste einführte.