Add the text, code or data.
01JSON ↔ CSV
Convert a JSON array to CSV and back.
- 1Paste inputAdd the text, code or data.
- 2AdjustChoose formatting or generation options.
- 3RunProcess everything in the browser.
How to use JSON ↔ CSV
Choose formatting or generation options.
02Process everything in the browser.
03Copy or download the clean result.
04Your files stay private
Your work is processed locally in your browser where possible and is never added to a Vootkit upload library.
Learn more about privacyJSON and CSV describe the same data in two shapes: one nested and typed, the other flat and stringly. Most of the friction in moving between them comes from the fact that the first can express things the second simply cannot.
What JSON ↔ CSV does
Converts a JSON array of objects into CSV rows, and CSV back into JSON, in either direction.
The direction matters for what survives. Going to CSV flattens everything and loses types; coming back from CSV, every value arrives as a string unless you convert it yourself.
What survives the round trip
| JSON to CSV | Array of objects; keys become the header row |
|---|---|
| Nested objects | Flattened or stringified — CSV has no concept of nesting |
| Arrays inside a field | Collapsed into one cell; the structure is not recoverable |
| Types | Lost on the way to CSV — numbers, booleans and nulls all become text |
| CSV to JSON | Every value arrives as a string unless you cast it |
| Commas and quotes | Escaped correctly on the way out |
Detailed steps
- Paste JSON, or paste CSV.
- Convert in whichever direction you need.
- Check the header row of the output against the keys you expected.
- If a row is missing a key, that column will be empty rather than shifted — which is the behaviour you want.
Worth knowing
A JSON to CSV conversion is lossy and the loss is silent. Nested objects, arrays inside fields and every type distinction are gone the moment it becomes a table, and converting back does not restore them — you get strings where you had numbers and text where you had structure. If the JSON is the source of truth, keep it. Treat the CSV as a view of the data for a spreadsheet, not as a copy of it.
Frequently Asked Questions
Why did my nested data come out as one long cell?
Because CSV is a flat format with no way to express nesting. An object or array inside a field has to be flattened or stringified to fit in a single cell, and the structure cannot be recovered from that on the way back. If nesting matters, CSV is the wrong destination for that field.
Why are my numbers strings after converting back?
CSV stores no type information — everything in the file is text, and there is no marker distinguishing the number 42 from the string "42". A converter can guess, but guessing turns postcodes into integers and version numbers into decimals, so values come back as strings and you cast the ones you need.
What if some objects have keys that others do not?
The header row covers every key that appears, and objects missing a key get an empty cell in that column rather than a shifted row. That is the behaviour you want — a shifted row silently corrupts every column after it, and empty cells are visible.
Does it handle commas inside values?
Yes. Values containing commas, quotes or line breaks are quoted and escaped according to the standard CSV convention on the way out, so they survive being reopened by a spreadsheet or another parser without splitting into extra columns.
Is JSON ↔ CSV free?
Yes. The Vootkit free plan includes 5 tool runs a day. Upgrade to Vootkit Pro for unlimited daily use, an ad-free workspace and saved workflows.
Are my files uploaded?
No. JSON ↔ CSV runs entirely in your browser — your file is processed on your own device and never sent to a server. There is nothing for us to store or delete.
Do I need to install anything?
No. JSON ↔ CSV works in any modern browser on desktop, tablet or phone. Open the page and start.
How often can I use it? Is there a daily limit?
On the free plan you get 5 tool runs a day. When you reach the limit you'll see a prompt to upgrade, and it resets the next day. Vootkit Pro removes the cap entirely for unlimited daily use.
Recently viewed
This tool processes everything locally in your browser. You can disconnect from the internet after the page loads and it will still work.