Advertisement

CSV to TOML

Convert CSV to TOML free, in seconds. Paste your data below, press Convert, then copy the result and drop the result into your config files. Everything runs in your browser, so nothing is ever uploaded.

CSV input

Paste your CSV below, then press Convert.

The first line is treated as the header row. Quoted fields are respected.

TOML output

Waiting for CSV input.

Private by design: parsing uses the PapaParse library (loaded once from a CDN); the conversion itself happens locally and your data is never uploaded.
Advertisement

How this conversion works

Paste CSV into the input box and press Convert (or just keep typing, conversion happens as you type). The tool parses it with the PapaParse library, using the first row as column headers, then emits it as TOML: plain key-value pairs first, then [tables], with lists of objects becoming [[array of tables]] blocks. Parsing uses the PapaParse library (loaded once from a CDN); the conversion itself happens locally and your data is never uploaded.

Reading the TOML output

A list of records becomes a series of [[items]] blocks, which is the idiomatic TOML way to express a list of objects. Lists of plain values become inline arrays like tags = ["ui", "ux"], and keys containing spaces or special characters are quoted automatically following the TOML spec. Nested objects become [tables], with deeper levels joined by dots.

CSV to TOML FAQs

Why convert CSV to TOML?
TOML is the config format behind Cargo, Python projects (pyproject.toml), Hugo and many developer tools. Converting exported data to TOML is the fastest way to turn an API response or a spreadsheet export into a config file you can commit to a repository.
How is my CSV parsed?
With the PapaParse library: the first line becomes the column headers, quoted fields with embedded commas or line breaks are respected, and empty lines are skipped.
How are lists of records represented?
Each object in a list becomes its own [[items]] array-of-tables block, which is the idiomatic TOML way to express record lists. Lists of plain values become inline arrays, and nested objects become [tables] with dotted paths.
What if my keys contain spaces or special characters?
They are quoted automatically following the TOML specification, so unusual key names stay valid and parseable by any TOML library.
Is my data sent to a server?
No. parsing uses the PapaParse library (loaded once from a CDN); the conversion itself happens locally and your data is never uploaded.
Advertisement