Data Format Converter
JSON, YAML, CSV, TOML and JSONL, in any direction.
FREE - NO SIGN-UP - RUNS ON YOUR DEVICE
Runs in your browser tab
- 5formats
- 20directions
- 0uploads
- 1 tapto save
What you can count on
- 20directions
- Any of the five into any other
- One panel, not five pages
- Linein every error
- Errors name the line that broke
- No stack traces to decode
- 0uploads
- Your data stays in this tab
- Nothing is sent anywhere
Data Format Converter at a glance
- Formats
- JSON YAML CSV TOML JSONL
- Input
- Pasted text
- Output
- Text, copy or download
- CSV options
- Delimiter and header switch
- Nested data into CSV
- Flattened to dotted paths
- Errors
- Sentence with the line number
- Two buttons worth knowing
- Reverse, and same-format tidy
- Price
- Free
- Account needed
- None
- Where processing happens
- On your device
How to use Data Format Converter
- 1
Choose the two formats
Set the from selector to the format you have and the to selector to the one you want.
- 2
Paste your data
A sample is already loaded, so replace it with your own text and the result updates as you type.
- 3
Copy or download
Copy the result in one tap, or download it as a file in the matching extension.
Frequently asked questions
Which directions are supported?
All of them. Any of JSON, YAML, CSV, TOML and JSONL converts into any other, and the two selectors move independently, so you are never locked to one pair.
What happens to nested data in CSV?
A table has no nesting, so every leaf becomes its own column named by its dotted path. An address object with a city field becomes a column called address.city.
Why does my CSV come out wrong?
Almost always the delimiter. Set it to comma, semicolon or tab to match the file, and check whether the first row really holds the field names.
Can TOML hold a plain list?
Not at the top level. TOML needs a named table there, so a list is written under a key called rows and the panel tells you it did that.
Is my data uploaded?
No. The parsers run in this browser tab and the text you paste is never sent to a server. Close the tab and nothing is left behind.
Everything came out as one column. What now?
The delimiter is wrong, and the message names the ones your text actually contains so you can pick the right one. Blank lines are dropped on the way in and never become empty rows.
Getting a clean conversion
Pick the format you have and the one you want. The result appears as you type, and a parse error tells you the line. Reverse puts the result back in the box so you can turn it straight back.
- YAML is a superset of JSON, so valid JSON can be read as YAML too.
- JSONL wants a list at the top level: one complete JSON value on each line.
- Use Reverse to convert the result back and check that nothing was lost.
- Numbers and true or false in CSV are read as numbers and booleans, not as text.
Full specification
| Formats | JSON, YAML, CSV, TOML and JSONL, in either direction between any pair. |
|---|---|
| Input | Pasted text, with a sample already loaded for whichever format you choose. |
| Output | The converted text, with a copy button and a download in the right extension. |
| CSV options | Comma, semicolon or tab, and a switch for whether the first row holds headers. |
| Nested data into CSV | Flattened to one column per leaf, named by its dotted path: address.city, not address. |
| Errors | Reported as a sentence naming the line and, where the format gives one, the column. |
| Two buttons worth knowing | Reverse swaps the formats and feeds the result back in, so you can check a conversion. Setting both selectors the same tidies instead of converting. |
| Price | Free. Supported by clearly labeled ads outside the working area. |
| Account needed | No. |
| Where processing happens | In your browser tab. Nothing is uploaded. |
Keep going with the same files
All developer tools: Developer tools on SPOTTOOLS