TOML zu JSON Konverter
TOML einfügen, sofort JSON im Browser. Bereit für Cargo.toml & pyproject.toml. Datumswerte und verschachtelte Tabellen korrekt. 100% privat, kein Upload.
Optionen · 2 Leerzeichen
Was ist TOML und warum nach JSON konvertieren?
TOML (Tom's Obvious, Minimal Language) ist ein Format für Konfigurationsdateien, das von Tom Preston-Werner geschaffen wurde, um eindeutig, für Menschen leicht lesbar und trivial auf eine Hash-Tabelle abbildbar zu sein. Es hat sich zum Standard-Konfigurationsformat für das Rust-Ökosystem (Cargo.toml), das moderne Python-Packaging (pyproject.toml, standardisiert in PEP 518 und PEP 621) sowie Tools wie Hugo, Netlify, Poetry und Foundry entwickelt. JSON hingegen ist das universelle Maschinen-Austauschformat — jede Sprache parst es, jede API spricht es. Die Konvertierung von TOML nach JSON ist daher eine häufige Aufgabe: Sie verfassen Konfiguration im gut lesbaren TOML und konvertieren sie dann nach JSON, um ein Programm zu speisen, sie mit JSON-Werkzeugen zu prüfen oder sie in einer Pipeline zu vergleichen.
Dieses Tool bietet mehrere Unterscheidungsmerkmale, die für die Korrektheit wichtig sind:
**1. Datums-/Zeit-Genauigkeit.** TOML hat erstklassige Datums- und Zeittypen — Offset-Datum-Zeit, lokales Datum-Zeit, lokales Datum und lokale Zeit —, die JSON völlig fehlen. Naive Konverter wandeln sie alle in ISO-Zeitstempel um, sodass aus einem lokalen Datum wie 1979-05-27 ein 1979-05-27T00:00:00Z wird, wobei stillschweigend eine Zeit und eine Zeitzone erfunden werden. Dieses Tool bewahrt die exakte TOML-Art: Lokale Daten bleiben Kalenderdaten, lokale Zeiten bleiben Zeiten, und nur Offset-Datum-Zeit-Werte tragen eine Zeitzone. Das hält Ihre Daten ehrlich und Hin- und Rückkonvertierungen verlustfrei.
**2. Vollständige TOML-1.0.0-Unterstützung.** Verschachtelte Tabellen, punktierte Schlüssel, Inline-Tabellen und Tabellen-Arrays ([[section]]) werden alle korrekt gemäß der TOML-1.0.0-Spezifikation mit der abhängigkeitsfreien smol-toml-Bibliothek geparst. Echte Cargo.toml- und pyproject.toml-Dateien mit gemischten Inline- und Standardtabellen werden exakt so konvertiert, wie es die Spezifikation verlangt.
**3. Ehrlicher Umgang mit großen Ganzzahlen.** TOML-Ganzzahlen sind 64 Bit groß, aber Browser-JavaScript kann Ganzzahlen nur bis exakt 2^53 - 1 halten. Statt einen großen Wert stillschweigend zu beschädigen oder abzustürzen, konvertiert dieses Tool in die nächstgelegene JSON-Zahl und warnt Sie, sodass Sie den Wert stattdessen als String speichern können. Diese Ehrlichkeit über eine grundlegende Browser-Beschränkung übergehen die meisten Konverter.
**4. 100% browserbasierte Privatsphäre.** Ihr TOML — das Registry-Tokens, interne Paketquellen oder Deployment-Geheimnisse enthalten kann — verlässt Ihren Browser nie. Kein Upload, kein Server, keine Protokollierung. Sie können dies im Netzwerk-Tab Ihres Browsers bestätigen.
Brauchen Sie die umgekehrte Richtung? Nutzen Sie den JSON zu TOML Konverter. Konvertieren Sie zwischen anderen Konfigurationsformaten? Probieren Sie den JSON zu YAML Konverter und den YAML zu JSON Konverter, oder validieren und verschönern Sie Ihre JSON-Ausgabe zuerst mit dem JSON Formatierer. TOML, JSON und YAML haben jeweils ihren Platz: TOML für von Menschen bearbeitete Anwendungskonfiguration, JSON für den Maschinenaustausch und YAML für tief verschachtelte Infrastruktur-Manifeste. Dieser Konverter lässt Sie zwischen den ersten beiden wechseln, ohne eine einzige Zeile Code.
// Convert TOML to JSON in Node.js using the smol-toml library
import { parse } from 'smol-toml';
const toml = `
[package]
name = "my-app"
version = "1.0.0"
[dependencies]
serde = { version = "1.0", features = ["derive"] }
`;
const data = parse(toml);
const json = JSON.stringify(data, null, 2);
console.log(json);
// {
// "package": { "name": "my-app", "version": "1.0.0" },
// "dependencies": {
// "serde": { "version": "1.0", "features": ["derive"] }
// }
// } Hauptfunktionen
Live-Konvertierung
Die JSON-Ausgabe aktualisiert sich sofort, während Sie TOML tippen oder einfügen — keine Schaltfläche Konvertieren nötig. Große Eingaben (>200 KB) wechseln automatisch in den manuellen Modus, damit der Browser reaktionsfähig bleibt.
Datums-/Zeit-Genauigkeit
TOML-Offset-Datum-Zeit-, lokale Datum-Zeit-, lokale Datums- und lokale Zeitwerte werden in JSON-Strings umgewandelt, die die ursprüngliche Art bewahren — keine erfundenen Mitternachts-Zeitstempel, sodass Hin- und Rückkonvertierungen verlustfrei bleiben.
Vollständige TOML-1.0.0-Unterstützung
Verschachtelte Tabellen, punktierte Schlüssel, Inline-Tabellen und Tabellen-Arrays ([[section]]) werden alle korrekt über die abhängigkeitsfreie smol-toml-Engine geparst, passend zur TOML-1.0.0-Spezifikation.
Bereit für Cargo.toml & pyproject.toml
Optimiert für die gängigsten TOML-Dateien in der Praxis — Rust-Manifeste und Python-Packaging-Konfigurationen — einschließlich Inline-Tabellen und Tabellen-Arrays. Laden Sie ein Beispiel, um die genaue JSON-Struktur zu sehen.
Ehrliche Warnungen bei großen Ganzzahlen
Ganzzahlen außerhalb des sicheren JavaScript-Bereichs (2^53) lassen sich in JSON nicht exakt darstellen — das Tool konvertiert sie in die nächstgelegene Zahl und warnt Sie, anstatt den Wert stillschweigend zu beschädigen.
100% browserbasierte Privatsphäre
Das gesamte Parsen läuft lokal in Ihrem Browser. Ihr TOML — einschließlich Registry-Tokens, privater Paketquellen und Deployment-Geheimnisse — wird nie hochgeladen, gespeichert oder protokolliert.
Beispiele
Cargo.toml (Rust)
[package]
name = "my-app"
version = "1.0.0"
edition = "2021"
authors = ["Jane Doe <jane@example.com>"]
[dependencies]
serde = { version = "1.0", features = ["derive"] }
tokio = { version = "1", features = ["full"] }
[dev-dependencies]
criterion = "0.5"
[[bin]]
name = "my-app"
path = "src/main.rs" Konvertiert ein Rust-Cargo.toml-Manifest nach JSON — nützlich für Tooling, Abhängigkeits-Dashboards oder um Cargo-Metadaten in Skripte einzuspeisen, die JSON erwarten.
pyproject.toml (Python)
[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "my-package" version = "0.3.1" requires-python = ">=3.10" dependencies = [ "requests>=2.31", "pydantic>=2.0" ] [project.optional-dependencies] dev = ["pytest>=8.0", "ruff>=0.4"] [tool.ruff] line-length = 100
Konvertiert eine PEP-621-pyproject.toml nach JSON, um Projekt-Metadaten, Abhängigkeiten und Tool-Konfiguration programmatisch zu prüfen.
netlify.toml
[build] command = "npm run build" publish = "dist" [build.environment] NODE_VERSION = "20" [[redirects]] from = "/old-path" to = "/new-path" status = 301 force = true [[headers]] for = "/*" [headers.values] X-Frame-Options = "DENY"
Konvertiert eine Netlify-Build-Konfiguration nach JSON, um Weiterleitungen und Header zu prüfen oder eine äquivalente Konfiguration für eine andere Plattform zu erzeugen.
Hugo config.toml
baseURL = "https://example.org" languageCode = "en-us" title = "My Hugo Site" theme = "ananke" [params] description = "A static site built with Hugo" mainSections = ["posts", "docs"] [[menu.main]] name = "Blog" url = "/posts/" weight = 1 [[menu.main]] name = "About" url = "/about/" weight = 2
Konvertiert eine Hugo-config.toml nach JSON, um Einstellungen zu migrieren, Konfigurationen zu vergleichen oder eine Konfigurations-Oberfläche zu betreiben.
rustfmt.toml
edition = "2021" max_width = 100 hard_tabs = false tab_spaces = 4 newline_style = "Unix" use_small_heuristics = "Default" reorder_imports = true reorder_modules = true
Konvertiert eine flache rustfmt.toml nach JSON — ein gutes Beispiel dafür, wie Schlüssel-Wert-Paare auf oberster Ebene (ohne Tabellen) direkt auf ein JSON-Objekt abgebildet werden.
App-Konfiguration mit Datumsangaben & Tabellen-Arrays
title = "Deployment Log" last_deployed = 1979-05-27T07:32:00Z release_date = 1979-05-27 maintenance_window = 02:00:00 [[servers]] name = "alpha" ip = "10.0.0.1" ports = [8001, 8002] [[servers]] name = "beta" ip = "10.0.0.2" ports = [9001]
Zeigt, wie TOML-native Datums-/Zeitwerte (Offset-Datum-Zeit, lokales Datum, lokale Zeit) und Tabellen-Arrays sauber in JSON-Strings und -Arrays konvertiert werden.
Anleitung
- 1
TOML einfügen
Geben Sie Ihr TOML in das Eingabefeld oben ein oder fügen Sie es ein. Sie können auch auf 'Beispiel laden' klicken, um eine echte Cargo.toml, pyproject.toml oder Deployment-Konfiguration auszuprobieren.
- 2
Live-JSON-Ausgabe sehen
JSON erscheint sofort im Ausgabebereich. Passen Sie die Einrückungsoption (2 oder 4 Leerzeichen) an Ihr Zielformat an. Datumsangaben, Tabellen und Tabellen-Arrays werden automatisch behandelt.
- 3
Kopieren oder herunterladen
Klicken Sie auf Kopieren, um das JSON in die Zwischenablage zu übernehmen, oder auf Herunterladen, um es als .json-Datei zu speichern, bereit für Ihr Programm, Ihre API oder Ihr Tooling.
Häufige TOML-Fallstricke
String-Werte ohne Anführungszeichen
In TOML müssen String-Werte in Anführungszeichen stehen. Ein bloßes Wort rechts vom Gleichheitszeichen ist nur für Wahrheitswerte (true/false), Zahlen, Datumsangaben oder als Teil eines Arrays gültig. Setzen Sie Ihre Strings in doppelte oder einfache Anführungszeichen.
name = my-app
name = "my-app"
Doppelte Schlüssel
TOML verbietet, denselben Schlüssel zweimal innerhalb derselben Tabelle zu definieren, und verbietet, eine bereits definierte Tabelle neu zu definieren. Das ist ein häufiger Fehler beim Zusammenführen von Konfigurationsfragmenten. Jeder Schlüssel und jede Tabelle muss eindeutig sein.
name = "a" name = "b"
name = "a" alt_name = "b"
Ungültiges Datums-/Zeitformat
TOML-Datums-/Zeitwerte folgen RFC 3339. Ein Datum benötigt ein vollständiges vierstelliges Jahr, einen zweistelligen Monat und einen zweistelligen Tag; ein Datum-Zeit-Wert benötigt ein T (oder Leerzeichen) als Trennzeichen. Fehlerhafte Datumsangaben können nicht geparst werden.
released = 2026-7-2
released = 2026-07-02
Fehlende schließende Klammer
Arrays, Inline-Tabellen und Tabellenköpfe müssen geschlossen werden. Ein nicht geschlossenes [ oder { erzeugt einen Parse-Fehler, der auf die Zeile und Spalte zeigt, in der das Problem erkannt wurde.
ports = [8001, 8002
ports = [8001, 8002]
Ganzzahl außerhalb des sicheren Bereichs
TOML-Ganzzahlen sind 64 Bit groß, aber JSON-Zahlen im Browser sind auf 2^53 - 1 begrenzt. Werte darüber werden bei der Konvertierung gerundet, und eine Warnung wird angezeigt. Speichern Sie sehr große Ganzzahlen als in Anführungszeichen gesetzte Strings, um sie exakt zu halten.
snowflake = 1420070400000000000
snowflake = "1420070400000000000"
Eine Tabelle neu definieren
Sobald eine Tabelle wie [servers] definiert ist, können Sie sie nicht mit demselben Kopf erneut öffnen. Für mehrere Einträge verwenden Sie stattdessen ein Tabellen-Array ([[servers]]), das zu einem JSON-Array von Objekten wird.
[servers] name = "a" [servers] name = "b"
[[servers]] name = "a" [[servers]] name = "b"
Häufige Anwendungsfälle
- Rust-Cargo-Metadaten
- Konvertieren Sie Cargo.toml nach JSON, um Abhängigkeits-Dashboards zu erstellen, Crate-Versionen und -Features zu prüfen oder Manifest-Daten in Skripte und CI einzuspeisen, die JSON statt TOML erwarten.
- Python-Projektkonfiguration
- Konvertieren Sie pyproject.toml nach JSON, um PEP-621-Projekt-Metadaten zu prüfen, Abhängigkeitslisten zu extrahieren oder Tooling zu steuern, das die Packaging-Konfiguration programmatisch liest.
- Deployment-Konfiguration prüfen
- Konvertieren Sie netlify.toml, foundry.toml oder andere Plattform-Konfigurationen nach JSON, um Weiterleitungen, Header und Build-Einstellungen zu prüfen oder eine äquivalente Konfiguration für eine andere Plattform zu erzeugen.
- Migration des Konfigurationsformats
- Konvertieren Sie TOML-Anwendungskonfiguration nach JSON, wenn Sie zu einem System wechseln, das JSON bevorzugt, oder als Zwischenschritt, bevor Sie mit JSON-Werkzeugen wie jq weiter transformieren.
- Einstellungen für statische Websites
- Konvertieren Sie Hugo-config.toml nach JSON, um Website-Einstellungen zu migrieren, Konfigurationen über Umgebungen hinweg zu vergleichen oder eine JSON-gestützte Einstellungsoberfläche zu erstellen.
- API- und Skript-Eingabe
- Verwandeln Sie von Menschen verfasstes TOML in JSON, das eine REST-API, eine Serverless-Funktion oder ein Automatisierungsskript direkt verarbeiten kann, und schlagen Sie so die Brücke zwischen gut lesbarer Konfiguration und Maschineneingabe.
Technische Details
- TOML-1.0.0-Parsing über smol-toml
- TOML wird mit der smol-toml-Bibliothek geparst, einem abhängigkeitsfreien, vollständig TOML-1.0.0-konformen Parser. Er verarbeitet verschachtelte Tabellen, punktierte Schlüssel, Inline-Tabellen, Tabellen-Arrays, mehrzeilige Strings und alle vier Datums-/Zeittypen korrekt und meldet Parse-Fehler mit Zeilen- und Spaltenpositionen.
- Verlustfreie Datums-/Zeit- und sichere Ganzzahl-Behandlung
- TOML-Datums-/Zeitwerte werden zu JSON-Strings serialisiert, die ihre exakte Art bewahren (Offset-Datum-Zeit, lokales Datum-Zeit, lokales Datum, lokale Zeit). Ganzzahlen außerhalb des sicheren JavaScript-Bereichs (2^53 - 1) werden beim Parsen zu BigInt hochgestuft und dann mit einer Präzisionswarnung in die nächstgelegene JSON-Zahl umgewandelt, sodass gültiges TOML nie an der Konvertierung scheitert.
- 100% browserbasiert — kein Upload, kein Server
- Die gesamte Verarbeitung findet in der JavaScript-Engine Ihres Browsers statt. Zu keinem Zeitpunkt werden Daten übertragen. Eingaben über 200 KB wechseln vom Live- in den manuellen Modus (ein expliziter Klick auf Konvertieren), damit die Oberfläche reaktionsfähig bleibt.
Bewährte Praktiken
- Sehr große Ganzzahlen als Strings speichern
- Wenn Ihr TOML Ganzzahlen über 2^53 - 1 enthält (Snowflake-IDs, Nanosekunden-Zeitstempel, große Zähler), setzen Sie sie vor der Konvertierung als Strings in Anführungszeichen. JSON-Zahlen im Browser können sie nicht exakt halten, und das Tool warnt Sie, wenn es runden muss.
- 2-Leerzeichen-Einrückung für die JSON-Ausgabe bevorzugen
- Zwei-Leerzeichen-Einrückung ist die am weitesten verbreitete Konvention für JSON und erzeugt eine saubere, gut lesbare Ausgabe, die mit den meisten Formatierern und Diff-Werkzeugen gut zusammenspielt. Reservieren Sie die 4-Leerzeichen-Einrückung für Fälle, in denen eine Stilrichtlinie sie verlangt.
- Die JSON-Ausgabe vor der Verwendung validieren
- Wenn Sie nach der Konvertierung das JSON von Hand bearbeiten oder in ein striktes System einspeisen möchten, prüfen Sie es mit unserem JSON Formatierer, um sicherzustellen, dass es gültig und einheitlich formatiert ist.
- TOML-Kommentare separat aufbewahren
- JSON kennt keine Kommentarsyntax, daher werden TOML-#-Kommentare bei der Konvertierung verworfen. Wenn die Kommentare wichtige Dokumentation sind, bewahren Sie das ursprüngliche TOML in der Versionsverwaltung neben dem erzeugten JSON auf.
- Tabellen-Arrays für wiederholte Abschnitte verwenden
- Wenn Sie mehrere ähnliche Abschnitte haben (Server, Weiterleitungen, Bins), schreiben Sie sie als Tabellen-Arrays ([[section]]), anstatt [section] zu wiederholen. Sie werden zu einem sauberen JSON-Array von Objekten konvertiert, statt einen Fehler wegen doppelter Tabellen zu verursachen.
Häufig gestellte Fragen
Wie konvertiere ich TOML online nach JSON?
Was ist TOML und warum sollte man es nach JSON konvertieren?
Wie werden TOML-Datums- und Zeitwerte in JSON dargestellt?
Verarbeitet dieses Tool Cargo.toml und pyproject.toml?
Wie werden TOML-Tabellen und Tabellen-Arrays konvertiert?
Was passiert mit sehr großen Ganzzahlen bei der Konvertierung von TOML nach JSON?
Werden meine TOML-Daten an einen Server gesendet?
Kann ich JSON wieder nach TOML konvertieren?
Wie konvertiere ich TOML auf der Kommandozeile nach JSON?
Wie konvertiere ich TOML in Python, Rust oder Node.js nach JSON?
Bewahrt der Konverter die Schlüsselreihenfolge, und was ist mit Kommentaren?
Gibt es eine Dateigrößenbeschränkung für die TOML-Eingabe?
Verwandte Werkzeuge
Alle Werkzeuge anzeigen →Base64-Dekodierer & -Kodierer
Kodierung & Formatierung
Base64 online kostenlos dekodieren und kodieren. Echtzeitkonvertierung mit voller UTF-8- und Emoji-Unterstützung. 100 % privat — läuft in Ihrem Browser. Keine Anmeldung nötig.
Base64-in-Bild-Konverter
Kodierung & Formatierung
Eine Base64-Zeichenkette oder einen Data-URI im Browser zurück in ein Bild dekodieren. Vorschau, Abmessungen & MIME ablesen, dann als PNG, JPG, GIF, SVG herunterladen. Kein Upload.
CSV-zu-JSON-Konverter
Kodierung & Formatierung
CSV im Browser nach JSON konvertieren. RFC 4180, Typinferenz, Kopfzeile, Big-Int-sicher. 100 % privat, kein Upload.
.env zu JSON Konverter
Kodierung & Formatierung
Eine .env-Datei einfügen, sofort JSON erhalten. Datenbankpasswörter, API-Keys und Tokens verlassen nie deinen Browser — 100% privat, kein Upload.
Kostenloser HTML-Entity-Decoder — HTML dekodieren
Kodierung & Formatierung
HTML-Entities dekodieren und HTML online unescapen — kostenlos, ohne Anmeldung, 100 % im Browser. Wandelt benannte, dezimale & Hex-Referenzen zurück in Zeichen; nichts wird hochgeladen.
Kostenloser HTML-Entity-Encoder — HTML escapen
Kodierung & Formatierung
HTML-Entities kodieren und Sonderzeichen escapen (< > & " ') — online, kostenlos, ohne Anmeldung, 100 % im Browser. Benannte, dezimale oder Hex-Ausgabe; nichts wird hochgeladen.