Overview
Two formats dominate everyday data work, and they barely speak to each other. Applications and APIs trade in JSON, because it handles nested structure gracefully. People, on the other hand, think in tables — so spreadsheets, reports and most import wizards all expect CSV. Moving records between the two by hand is slow work, and a single stray comma can quietly shift a whole row's values one column to the left.
This converter does the translation carefully, and in both directions. Going from JSON to CSV, it reads an array of objects, gathers every key that appears anywhere in the set, and uses those keys as the column headings — so extra fields are never lost, and missing ones simply leave a blank cell. Values are quoted exactly when the CSV rules require it, never more, never less. Flip the toggle and the same page reads CSV back into a JSON array, treating the first row as keys.
What is CSV?
CSV stands for comma-separated values, and it is about as simple as a data format gets: plain text, one record per line, with the fields in each record separated by commas. The first line usually names the columns, and every line after it holds one row of data in the same order. There is no styling, no formulas and no structure deeper than the table itself — which is precisely why nearly every tool built in the last forty years can read it.
The one subtlety is escaping. When a field itself contains a comma, a quotation mark or a line break, the field is wrapped in double quotes, and any quote inside it is doubled. This converter follows that convention strictly, so addresses, notes and product descriptions survive the trip intact.
Features
- Union of all keys — every property found in any object becomes a column, in the order keys first appear, so nothing is silently dropped.
- Correct CSV escaping — fields containing commas, quotes or newlines are quoted exactly as the standard requires.
- Two-way conversion — a mode toggle converts CSV back into JSON, reading the header row as property names.
- Nested values kept safe — an object or array inside a field is written as compact JSON text, never as a meaningless placeholder.
- Clear shape errors — if the input is not an array, or a CSV file has no data rows, the status line says exactly what shape was expected.
- Copy and download — take the output to the clipboard, or save it as a .csv or .json file with one click.
- Fully local processing — parsing and writing both happen in this tab; your records are never uploaded.
Benefits
- Spreadsheet-ready in seconds — API output becomes a file Excel, Sheets or LibreOffice opens directly.
- No silent data loss — the union-of-keys rule means extra fields surface as columns instead of vanishing.
- Fewer broken imports — strict quoting keeps commas inside addresses and notes from tearing rows apart.
- Private by design — customer lists and order exports stay on your machine throughout the conversion.
Who can use it
Analysts and operations staff use it to turn API responses and database exports into something they can sort, filter and chart. Developers use it to prepare sample data, migrate records between systems, or hand non-technical colleagues a file they can actually open. Shop owners converting product feeds and support teams exporting ticket lists run into the same wall daily.
How to use
- Leave the direction on JSON → CSV, or flip it if you are starting from a spreadsheet file.
- Paste your data into the input box. For JSON, it must be an array, ideally of objects that share most of their keys.
- Press Convert and read the status line — it reports how many rows and columns came out, or explains what shape it expected instead.
- Skim the output for anything surprising, such as a field you did not know existed becoming its own column.
- Copy the result, or download it as a file and open it in your spreadsheet or editor of choice.
Frequently asked questions
What shape of JSON does the converter accept?
An array at the top level. Ideally its items are objects — each object becomes one row and its keys become the columns. A plain list of numbers or strings also works and produces a one-column sheet. A single object on its own is refused, with a message explaining the array it expected, because one object is a record rather than a table.
What happens when objects in the array have different keys?
Every key from every object gets a column. Where an object lacks a key that another one has, its cell in that column is simply left empty. Nothing is thrown away, and you can see at a glance which records are missing which fields.
How are commas and quotation marks inside values handled?
By the book. Any field containing a comma, a double quote or a line break is enclosed in double quotes, and each quote inside the field is written twice. So a note like He said 'ready, ship it' lands in a single cell exactly as written.
What happens to nested objects or arrays inside a field?
They are written into the cell as compact JSON text. CSV has no way to represent structure deeper than a table, so keeping the nested value as JSON preserves all of it in a form that can be parsed again later, instead of flattening it into something meaningless.
When I convert CSV back to JSON, what types do the values get?
They all arrive as text. CSV carries no type information, so numbers, dates and true/false values come back as strings. If your application needs typed values, convert them after importing — the structure and the content are preserved faithfully.
Is my data uploaded anywhere during conversion?
No. Both parsing and writing run in JavaScript in your browser. Customer lists, order exports and internal records stay on your machine from paste to download.
Conclusion
Moving records between JSON and CSV should not be a chore or a risk. Convert carefully in both directions, keep every field, and keep your data exactly where it belongs — on your own machine.