Read a TOML config into JSON, with dates kept exactly as they were written
Runs in your browser. Nothing you type is sent anywhere. Updated on 24 Oct 2026.Reading a Cargo.toml or a pyproject.toml in a script is the usual reason. Tables become objects and arrays of tables become arrays of objects. TOML has a real date type and JSON does not, so a date-time keeps the exact text it was written with rather than being turned into a time zone you did not pick. Comments are dropped.
The page opens with TOML under From and JSON under To.
Paste a Cargo.toml or pyproject.toml, or press Open file and choose it.
Read the JSON on the right: tables become objects and dates keep the exact text they were written with.
Press Copy JSON, or Download JSON to save a .json file.
This converter moves structured data between JSON, YAML, XML, CSV, TSV, TOML and INI in every direction that makes sense: forty of the forty-two possible pairs. Paste the data or open the file and it works out which format it is from the content itself, not from the name on the end of it, then offers the conversion people usually want next. If the guess is wrong, one tap fixes it.
The difficult part is not parsing. It is being honest about shape. CSV and TSV are rows of columns; JSON, YAML, TOML and XML are values inside values; INI is one flat level of named sections. Moving between those shapes always decides something on your behalf, so every conversion prints one line saying what it decided: which list became the rows, which nested objects became dotted columns such as address.city, which keys were left out and why. A list inside a cell becomes JSON text rather than disappearing.
Numbers are read cautiously. A code like 007 stays text, a sixteen-digit account number keeps all sixteen digits, and nothing that resembles a date is turned into one. Errors point at the line and column. Everything runs in your browser: a config file with passwords in it never leaves your machine.
The rest of the article, and all 8 questions about Data Converter, are on the Data Converter page.
A spreadsheet needs rows, so the converter looks for the list that is the table. A JSON array of objects becomes one row per object. If the array sits inside an object, that array is used and the other top-level keys are named so you can see exactly what is not in the sheet. Nested objects become dotted columns such as address.city.
No, and the tool says so each time. YAML, TOML and INI allow comments; JSON, CSV and TSV have nowhere to put them, and nothing records which value a comment belonged to. XML comments go the same way. Everything else is kept, and anything that could not be written is named rather than quietly dropped.
Both. Drop or open a .json, .yaml, .xml, .csv, .tsv, .toml, .ini or .cfg file and it is read on your device. The format is worked out from the content rather than the extension, so a file saved with the wrong name is still read correctly, and the tool says when the name and the content disagree.
Yes. Choose Excel in the To row and press Download Excel: the table is saved as an .xlsx with a bold header row, real numbers and dates, and codes like 007 kept as text. To go the other way, open an .xlsx of up to 10 MB; one sheet is read in your browser and shown as CSV, ready to become XML or JSON. Formulas come across as their saved results.
Still stuck? Ask about Data Converter and anybody who knows can answer. No account needed.
Same job, other tools: TSV to JSON – Convert tab-separated values, such as a paste from Excel, into JSON · JSON to YAML – Turn JSON into clean, readable YAML for configs.
In the collections JSON Tools · Developer Converters.