TOML to CSV
Paste TOML, get CSV. Runs entirely in your browser — no upload, no signup. Preserves structure and primitive types where possible. Use the action bar below to copy or download the result.
What you'll use this for
TOML to CSV conversion fits a wide range of integration, migration, and tooling tasks.
Spreadsheet export
Pull tabular data out of a TOML config and open it in Excel, Sheets, or Numbers.
Bulk imports
Reshape TOML datasets into CSV so they can be loaded by SQL clients and ETL tools.
Reporting
Convert TOML rows into CSV for analytics dashboards and BI imports.
Format migration
Migrate small TOML datasets to CSV for tools that only read flat tables.
How to convert TOML to CSV
Paste your TOML
Drop it into the left editor. CodeMirror highlights syntax and reports errors inline.
Pick options
Defaults work for most inputs. Toggle auto-convert if you prefer manual runs.
Click Convert
Or leave auto-convert on for live updates as you type. Everything runs locally — no server.
Copy or download
Grab the CSV to clipboard or download as a .csv file.
Frequently asked questions
Yes. Completely free, no signup, no limits.
No. Conversion runs entirely in your browser. Your data never leaves your device.
Yes. After the first load, the page works without an internet connection.
Either an array-of-tables ([[users]]) or a single table containing an array of objects. Each table becomes one CSV row.
Nested objects are JSON-stringified in their cells so no data is lost, but you may want to flatten manually for cleaner output.
About this converter
TOML and CSV solve overlapping problems with different syntax. This tool converts between them in your browser using battle-tested parsers and serializers — no server round-trip, no rate limits.
How it works
- Parse the TOML into an intermediate JavaScript object.
- Normalize primitive types (numbers, booleans) where the target format supports them.
- Emit CSV using a deterministic serializer.
Privacy
- Everything runs client-side — your data never leaves the browser.
- No accounts, no tracking of input, no rate limits.
- Works offline after the first load.