CSV to TOML
Upload a dataset to begin
Supported formats: .csv,.xlsx,.xls,.xlsm,.xlsb,.tsv
Sign in for free for unlimited files, no payment required.
About CSV to TOML
Convert CSV rows into a TOML array of tables, entirely in your browser — no upload, no file size limit.
TOML powers config files across the Rust and Python ecosystems (Cargo.toml, pyproject.toml) thanks to its readable, unambiguous syntax.
This tool converts each CSV row into a TOML array-of-tables entry (`[[row]]`), with values quoted or left bare depending on whether they parse as numbers, so the output loads correctly in any TOML parser.
Converting back the other way, it reads a TOML file's array-of-tables entries and flattens them into CSV columns, taking the union of keys across all entries as the header row.
Category: Conversion & ExportCommon Use Cases
- Generating a TOML array-of-tables config block from a spreadsheet of settings
- Turning a CSV list of dependencies or packages into TOML for a build tool
- Flattening a TOML export back into CSV for review in a spreadsheet
Key Features
- Quotes string values and leaves numeric values bare so the output parses correctly
- Generates a standard array-of-tables ([[row]]) structure any TOML parser understands
- Handles large files in chunks so the tab stays responsive
The CSV to TOML tool is compatible with: Cargo.toml-style Configs, pyproject.toml, Rust/Python Tooling Configs.
Use CSV to INI instead when the target tool expects flat section/key config rather than TOML's richer typing.
Frequently Asked Questions
An array of tables using the [[row]] syntax, with one table per CSV row and one key per column.
Yes, values that parse cleanly as numbers are written bare (unquoted); everything else is written as a quoted string.
When converting TOML back to CSV, the header row is built from the union of all keys seen across every table, leaving cells blank where a given entry lacks that key.
Built for developers turning spreadsheets into Rust or Python tooling configs.
Read the related guide →