Convert between JSON and CSV
Free online JSON ↔ CSV converter — turn an API response into a spreadsheet you can open in Excel or Google Sheets, or seed a JSON test fixture from a column dump your colleague mailed you. Paste a JSON array of objects (or a JSON object of objects) and the tool auto-detects the columns and renders a clean RFC 4180 CSV. Paste CSV and get a JSON array back. Pick the delimiter (comma for standard CSV, tab for TSV that pastes cleanly into Sheets, semicolon for European Excel, or pipe for database dumps), toggle whether the first row is a header, and decide whether values like "42", "true", "null" should be coerced to typed JSON or kept as strings (matters for IDs like "00123" that must stay strings). Convert via clipboard copy or .json/.csv download with a UTF-8 BOM so Excel opens it correctly.
How to use
JSON or CSV — direction is auto-detected by default.
Delimiter, header row, type coercion.
CSV or JSON appears in the right pane.
Get a clipboard copy or a .csv / .json file.
Convert a JSON array of objects to a CSV/TSV/Excel file, or paste a CSV and get JSON — both ways, in the browser
What you can do
Typical uses
- Convert a JSON API response (50 MB and up) into a CSV for opening in Excel or Google Sheets.
- Turn a spreadsheet column dump into a JSON array for seeding a Jest/PHPUnit test fixture.
- Convert a German/French Excel semicolon CSV into modern comma-delimited CSV your tooling expects.
- Strip type coercion to keep "00123" as a string instead of becoming the number 123 (loses the leading zero).
- Generate a TSV (tab-separated) for direct paste into a Google Sheet or Notion table.
- Round-trip a small JSON config to CSV, edit in Excel, paste back, convert to JSON — quick batch edits without writing a script.
Why this one
Most online converters force you to choose JSON-to-CSV or CSV-to-JSON as two separate tools. This one combines them with auto-detection — paste anything, get the other. RFC 4180 quoting is implemented properly so values with embedded newlines, commas or quotes do not silently corrupt your output (a real failure mode of many cheap converters). The download includes a UTF-8 BOM so Excel handles accented characters correctly without showing mojibake. No signup, no per-payload quota.
Common questions
What is "type coercion"?
Without it, CSV → JSON keeps every cell as a string ("42" stays "42"). With it, strings that look like JSON values are converted: "42" → 42, "true" → true, "null" → null, "3.14" → 3.14. Useful for typed data, dangerous if you have IDs that happen to look like numbers but should stay strings ("00123" becomes 123).
Does it support nested JSON?
JSON → CSV will JSON.stringify any nested object/array into the cell as text. CSV → JSON does not auto-parse cells that contain JSON — toggle "Coerce types" and the JSON values will be parsed.
What about UTF-8 BOM?
The download includes a UTF-8 BOM so Excel opens it correctly with multi-byte characters. The clipboard copy does not include a BOM (Sheets and modern tools handle UTF-8 natively).
What happens to nested objects when I convert to CSV?
They get flattened, because a CSV row is a flat list of cells and there is nowhere for a nested structure to go. A key inside an object becomes a column named by its path — an address object with a city inside it turns into a column called address.city — and an array becomes either indexed columns or a single joined cell depending on what it holds. That is lossless enough to open in a spreadsheet and edit, and converting back reconstructs the nesting from the same paths. Where it stops being reversible is arrays of unlike objects: if the first item has three fields and the fifth has seven, the header was fixed by the first rows and the extra fields have nowhere to sit.
Why semicolon for "Excel EU"?
In locales where the decimal separator is "," (most of Europe), Excel uses ";" as its default CSV delimiter to avoid ambiguity. Files exported from a German or French Excel install will be semicolon-delimited.
We can! Just send us a quick message with your idea. If you'd like to discuss it in detail, leave your email and we'll get back to you. You can stay anonymous.