TOML zu JSON
Die Cargo.toml von Rust, die pyproject.toml von Python, die config.toml von Hugo: TOML ist in der modernen Konfigurationswelt allgegenwärtig, doch viele Werkzeuge sprechen weiterhin nur JSON. Füge dein TOML hier ein und erhalte formatiertes JSON zurück: [Tabellen]-Abschnitte werden zu verschachtelten Objekten, [[Arrays von Tabellen]] zu Arrays von Objekten, und Datumswerte werden unverändert als Strings durchgereicht. Der Parser deckt den Alltagskern von TOML ab; seine echten Grenzen (mehrzeilige Werte, Inline-Tabellen, gepunktete Schlüssel) sind unten offen aufgelistet.
So funktioniert die Konvertierung
-
1
TOML einfügen
Füge den Text in das Eingabefeld ein und klicke auf In JSON konvertieren. Ganzzeilige #-Kommentare werden automatisch übersprungen.
-
2
Tabellen werden zu Objekten
Eine `[server.database]`-Überschrift wird zu verschachtelten JSON-Objekten, eine Ebene pro gepunktetem Namen.
-
3
Arrays von Tabellen werden zu Arrays
`[[users]]`-Blöcke erzeugen ein JSON-Array mit einem Objekt pro Block.
-
4
Skalare Werte behalten ihren Typ
Strings in Anführungszeichen, einfache dezimale Ganz- und Fließkommazahlen sowie true/false werden zu nativen JSON-Typen; Datumswerte bleiben Strings, exakt wie geschrieben.
-
5
JSON kopieren
Das Ergebnis ist mit 4 Leerzeichen Einrückung formatiert, die Schlüssel stehen in ihrer ursprünglichen Reihenfolge, bereit zum Kopieren.
So werden die Typen abgebildet
| TOML-Wert | JSON-Wert | Beispiel |
|---|---|---|
| String (basic oder literal) | String | "hello" → "hello" |
| Ganzzahl (einfach dezimal) | Number | 42 → 42 |
| Fließkommazahl (einfach dezimal) | Number | 3.14 → 3.14 |
| Boolean | Boolean | true → true |
| Array (einzeilig) | Array | [1, 2, 3] → [1, 2, 3] |
| Tabelle mit Schlüsseln | Objekt | [server] + port = 8080 → "server": {"port": 8080} |
| Array von Tabellen | Array von Objekten | [[users]] + name = "alice" → "users": [{"name": "alice"}] |
| Datum/Uhrzeit | String, wie geschrieben | 2026-04-18T10:00:00Z → "2026-04-18T10:00:00Z" |
Die Ausgabe wird immer mit 4 Leerzeichen Einrückung formatiert, Arrays und Objekte erstrecken sich also über mehrere Zeilen; die Tabelle oben zeigt die Werte der Lesbarkeit halber einzeilig. Die Schlüsselreihenfolge bleibt exakt so erhalten, wie sie in deinem TOML steht.
Durchgerechnetes Beispiel
title = "My App"
[server]
host = "localhost"
port = 8080
[[users]]
name = "alice"
admin = true
wird zu:
{
"title": "My App",
"server": {
"host": "localhost",
"port": 8080
},
"users": [
{
"name": "alice",
"admin": true
}
]
}
Unterstütztes TOML und die echten Grenzen
Unterstützt: [Tabellen]-Überschriften einschließlich gepunkteter Abschnittsnamen, [[Arrays von Tabellen]], einzeilige key = value-Paare, Basic-Strings "..." mit den Escapes \n, \t und \", Literal-Strings '...', einfache dezimale Ganz- und Fließkommazahlen, true/false, einzeilige Arrays (Verschachtelung erlaubt), ganzzeilige #-Kommentare sowie Datumswerte, die als Strings durchgereicht werden.
Nicht unterstützt, und was stattdessen zu tun ist:
- Mehrzeilige Strings (
"""oder''') und mehrzeilige Arrays stoppen den Parser mit einem Fehler. Bringe den Wert zuerst auf eine einzige Zeile. - Inline-Tabellen werden nicht aufgelöst:
point = { x = 1, y = 2 }kommt als String"{ x = 1, y = 2 }"heraus, nicht als Objekt. Schreibe sie als eigenen[point]-Abschnitt. Cargo.toml-Abhängigkeitszeilen wieserde = { version = "1.0" }sind der Klassiker. - Gepunktete Schlüssel links vom Gleichheitszeichen bleiben ein flacher Schlüssel:
server.host = "a"erzeugt den Schlüssel"server.host", keine Verschachtelung. Nutze stattdessen eine[server]-Überschrift. Gepunktete[abschnitts.namen]in Überschriften verschachteln dagegen korrekt. - Kommentare hinter einem Wert werden nicht entfernt:
port = 8080 # mainwird zum String"8080 # main". Lass Kommentare auf eigenen Zeilen stehen. - Zahlformate jenseits einfacher Dezimalzahlen werden nicht erkannt:
1_000,0xFF,5e2,+99,infundnankommen als Strings in Anführungszeichen heraus. Schreibe stattdessen1000,255,500,99. \uXXXX-Escapes in Basic-Strings werden nicht dekodiert. Füge stattdessen das echte Zeichen ein.
Für ein vollständiges TOML-1.0-Dokument nutze einen Kommandozeilen-Konverter wie toml2json, oder lade die Datei mit Pythons tomllib und gib von dort JSON aus.
Wofür das nützlich ist
- Schnelle Kontrolle eines TOML-Fragments als JSON beim Debuggen.
- Einfache Konfigurationswerte an Linter, Skripte oder Inventarwerkzeuge übergeben, die nur JSON akzeptieren.
- JSON-Testfixtures erzeugen aus TOML-Notizen, die sich leichter von Hand schreiben lassen.
- Kleine, flache Konfigurationsdateien migrieren, was auf viele
config.tomlvon Hugo zutrifft.
Hinweise zur Hin- und Rückreise
- Kommentare überleben nie: JSON kennt schlicht keine Kommentarsyntax.
- Datumswerte bleiben Strings; nachgelagerter Code muss sie wieder in Datumsobjekte umwandeln.
- Große Zahlen: Ganzzahlen bleiben im JSON-Text 64-Bit-Werte, aber JavaScript-Konsumenten verlieren oberhalb von 2^53 an Präzision. Achte auf Nanosekunden-Zeitstempel und numerische IDs.
- Die Schlüsselreihenfolge bleibt bei diesem Konverter wie geschrieben; andere JSON-Werkzeuge können Schlüssel beim erneuten Ausgeben umsortieren.
Umgekehrte Richtung
JSON → TOML ist die schwierigere Reise, denn JSON hat Strukturen (tiefe anonyme Verschachtelung, null), die TOML entweder fehlen oder die es anders behandelt. Die meisten Roundtrip-Szenarien brauchen manuelle Anpassungen auf der TOML-Seite.
Häufig gestellte Fragen
Nein. JSON kennt keine Kommentarsyntax, ganzzeilige #-Kommentare werden daher einfach übersprungen. Eine Warnung: Ein Kommentar hinter einem Wert wird nicht entfernt, aus port = 8080 # main wird der String “8080 # main”. Lass Kommentare vor der Konvertierung auf eigenen Zeilen stehen.
Nein. Es deckt den Alltagskern ab: Tabellen mit gepunkteten Abschnittsnamen, Arrays von Tabellen, einzeilige key = value-Paare, Strings in Anführungszeichen, einfache Dezimalzahlen, Booleans, einzeilige Arrays und ganzzeilige Kommentare. Mehrzeilige Strings und Arrays, Inline-Tabellen, gepunktete Schlüssel und Zahlformate wie 1_000 oder 0xFF werden nicht unterstützt. Für Dokumente nach voller Spezifikation nimm ein CLI-Werkzeug wie toml2json oder Pythons tomllib.
Typische Konfigurationsdateien werden sofort konvertiert. Die Konvertierung läuft auf unserem Server, extrem große Dokumente sind daher durch die Größe der Anfrage begrenzt; für TOML im Multi-Megabyte-Bereich passt ein Kommandozeilen-Konverter besser.
Ja, dieser Konverter arbeitet serverseitig: Das TOML wird über HTTPS an unseren Server geschickt, dort konvertiert und kommt in derselben Antwort zurück. Der Inhalt wird danach nicht gespeichert; es bleibt nur ein anonymer Nutzungszähler. Füge keine Geheimnisse wie Passwörter oder API-Schlüssel ein.
Verwandte Tools
Farbrad-Explorer
Erforschen Sie das Farbrad interaktiv. Rotieren Sie Harmonien, vergleichen Sie HSL mit RYB, erkennen Sie komplementäre und triadische Paare in Echtzeit.
ASCII-Tabelle Referenz
Vollständige ASCII-Tabelle von 0 bis 127 mit Dezimal-, Hex-, Oktal-, Binär- und numerischer HTML-Zeichenreferenz für jedes Zeichen, einschließlich Steuerzeichen wie NUL, LF und DEL.
CSS-Scrollbar-Generator
Passen Sie das Erscheinungsbild der Bildlaufleiste per CSS an. Modernes scrollbar-color / scrollbar-width und das ältere ::-webkit-scrollbar für breite Browser-Unterstützung.
HTML-Zeichenreferenz
Durchsuchbare Liste von HTML-Entitäten, ihren benannten und numerischen Codes sowie eine Ein-Klick-Kopie für Sonderzeichen und Symbole.
SVG-Wellen-Generator
Erzeuge eine sanfte SVG-Wellen-Trennlinie für Header und Footer mit einstellbarer Amplitude, Frequenz, Farbe und Position oben oder unten. Kopiere den SVG-Code.
Zufallsbuchstaben-Generator
Erzeugen Sie zufällige A-Z-Buchstaben. Wählen Sie Anzahl, Großschreibung, Kleinschreibung oder gemischte Schreibweise für Spiele, Aufgaben und Unterricht.
Tool in anderen Sprachen verfügbar
- TOML sang JSON [VI]
- TOML till JSON [SV]
- من TOML إلى JSON [AR]
- TOML to JSON [KO]
- TOML เป็น JSON [TH]
- TOML en JSON [FR]
- TOML ke JSON [ID]
- TOMLからJSONへ [JA]
- TOML naar JSON [NL]
- TOML a JSON [ES]
- TOML na JSON [PL]
- TOML para JSON [PT]
- TOML to JSON [EN]
- TOML in JSON [IT]
- TOML в JSON [RU]
- TOML'dan JSON'a [TR]
- TOML 至 JSON [ZH]