A list of records becomes rows; an object whose values are arrays becomes one sheet per key.
The .xlsx file is generated in your browser — your TOML is never uploaded.
Convert TOML to Excel (XLSX) online, free. TOML (Tom's Obvious Minimal Language, v1.0.0) is a readable config format whose array-of-tables construct ([[name]]) is effectively a list of records. This converter parses your TOML in the browser, turns an array-of-tables into spreadsheet rows with the keys as column headers, and builds a real .xlsx (Office Open XML) workbook you can download.
A TOML array-of-tables maps directly to spreadsheet rows, written into a genuine .xlsx workbook entirely client-side with SheetJS — your TOML is never uploaded. 100% free, no registration, and complete privacy — everything runs locally in your browser, so your data never touches a server.
Generates a genuine Office Open XML workbook that opens cleanly in Excel, Google Sheets and Numbers.
Each [[table]] entry becomes a spreadsheet row, with the table's keys as the column headers.
A document with several array-of-tables keys is written as one worksheet per key, building a multi-sheet workbook.
Parsing (@iarna/toml) and workbook generation (SheetJS) run locally; your TOML never leaves the page.
The tool parses your TOML with @iarna/toml, then uses SheetJS to write a real .xlsx workbook. A TOML array-of-tables ([[entry]] repeated) becomes the rows, and the keys inside those tables become the column headers.
An array-of-tables — repeated [[users]] blocks, each with the same keys — maps cleanly to rows and columns. A single top-level table produces one row; deeply nested tables can't expand into separate columns within a cell.
Yes. If your document defines several array-of-tables under different keys, each key becomes its own worksheet. Otherwise the converter writes a single sheet with the name you choose.
No. Parsing and .xlsx generation run entirely in your browser; only the SheetJS library is fetched from a CDN. Your TOML content never leaves your device.
A real .xlsx (Office Open XML) workbook generated with SheetJS, which Excel, Google Sheets and Numbers open natively — not a CSV renamed to .xlsx.
A single [table] (not an array-of-tables) is one record, so it becomes one row. Use the [[table]] array-of-tables syntax with repeated entries to get a row per entry.
We use cookies for analytics and personalized ads to help keep these tools free. Until you accept, ads stay non-personalized and analytics cookies are off. See our Privacy Policy.