JSON ↔ CSV
Convert a JSON array of objects to CSV and back, in the browser.
This runs in your browser. Nothing is uploaded.
About JSON ↔ CSV
Converts a JSON array of objects to CSV and back again, entirely in your browser, so a spreadsheet export never has to leave the machine.
Spreadsheets want rows. APIs want objects. The conversion between them is a rainy-afternoon script that everyone rewrites, or a website that asks you to upload the customer list so it can add commas. I got tired of both. If the JSON is an array of objects — or an object whose values are objects — this page takes the union of keys as the header row and writes a CSV. The other direction reads a header row and emits an array of objects.
Quoted fields, commas inside quotes, and doubled quotes are handled the way Excel and most exporters already do. Nested objects become a JSON string in the cell, because a flat CSV has nowhere else to put them. That is honest: you can see the nesting instead of losing it. Going back from CSV, every cell is a string. Numbers you need as numbers have to be coerced in the next step of your pipeline.
Direction is a radio, not a guess. JSON that happens to contain commas is still JSON; CSV that happens to start with a bracket is still CSV. Pick the arrow you mean. I left out Excel-specific TSV and 'detect dialect' heuristics on purpose — those are how converters silently destroy a column.
How to use JSON ↔ CSV
- 1Paste a JSON array of objects, or a CSV with a header row.
- 2Choose JSON → CSV or CSV → JSON.
- 3Copy the result, or fix the source if the error line tells you the shape was wrong.
What it won't do
- Output cells from CSV → JSON are always strings.
- There is no column-type picker and no Excel .xlsx export.
Common questions
What JSON shape does the CSV converter accept?
An array of objects, or a single object whose values are themselves objects. An array of arrays, a lone object of scalars, or a primitive will be rejected with a message instead of being squeezed into a one-column sheet that nobody asked for.
Will nested JSON fields survive a round trip through CSV?
As text, yes. A nested object is stringified into the cell. Convert back and you get a string that still looks like JSON, not a revived object. If you need the structure after the trip, parse that cell again. CSV is a flat format; I will not pretend otherwise.
Does the converter understand commas inside quoted CSV fields?
Yes. A field wrapped in double quotes can contain commas and line breaks. A quote inside a field is written as two quotes, which is the usual CSV rule. A file that uses a different escape style will not parse the way you hope — check a couple of rows before you trust the whole sheet.
Related tools
Why this one doesn't upload your file
There is no server to upload to. This page is a static file, and the work happens in your browser using the same graphics and WebAssembly code that renders every other site you visit. Your file is read from disk into memory, processed, and handed back as a download. Once the page has loaded you can disconnect from the network entirely and it keeps working. The longer explanation