JSON ⇄ CSV converter
Runs entirely in your browser. Your files and data never leave your device.
About this tool
Paste JSON to get it as CSV, or paste CSV to turn it back into JSON. A JSON array of objects becomes rows with a header, and nested fields get flattened into columns with dot notation, like address.city. Going the other way, dot-notated headers get rebuilt into nested objects, and the parser can auto-detect the delimiter or use the one you pick.
How does the conversion handle nested data?
JSON often nests objects inside objects, but a CSV row is flat, so the converter has to make a choice. Going from JSON to CSV, it flattens each nested object by joining its keys with dots, so {"address": {"city": "Lyon"}} becomes a column named address.city with the value Lyon. Arrays and any value that doesn’t fit a single cell get JSON-stringified in place, so you still see the data, just not spread across columns.
Going from CSV to JSON, the process reverses: a column named address.city gets rebuilt into a nested address object with a city field. Each cell is also parsed for type. Empty cells become null, true and false become booleans, plain numbers become numbers, and any cell that looks like a JSON array or object gets parsed as one. Everything else stays a string. The CSV parser auto-detects the delimiter (comma, semicolon, tab, or pipe) from your input, or you can force a specific one if detection guesses wrong.
What happens if my JSON isn’t a flat list of objects?
The JSON-to-CSV direction expects a JSON array where every item is an object, since that’s what maps onto rows and columns. If the top-level value isn’t an array, or if any item in it isn’t an object, the tool stops and tells you which index failed rather than guessing at a layout. A single object, a bare number, or an array of strings won’t convert directly. You’d need to wrap or restructure the data into an array of objects first, which is also the shape most APIs already return for list-style JSON responses.
Is my data uploaded anywhere?
No. Parsing and conversion happen entirely in your browser using JavaScript, and nothing you paste is sent to a server. That makes it safe to use with spreadsheet exports, database dumps, or CSV files that contain customer records, internal identifiers, or other data you wouldn’t want to hand to a third-party service.
Common uses: turning an API response into a CSV for Excel or Google Sheets, converting an exported spreadsheet into JSON for a script or a test fixture, or cleaning up data before feeding it to another tool. CSV output follows RFC 4180, and JSON follows the format described on MDN.