JSON trees versus CSV rectangles
JSON can nest. CSV cannot, not without conventions. JSON to CSV on ToolPin expects a list of similar objects and writes one row per object. Top-level keys become headers. Nested objects and arrays are either flattened with a separator, stringified, or omitted — depending on how the converter is implemented. Plan for a flat shape: id, name, email, not user.profile.address.city unless flattening is documented in the UI.
Everything runs in your browser. Nothing is uploaded. The tool is free and needs no account.
A single object is not a table. Wrap it in an array [ { ... } ] if you have one record. A JSON array of strings or numbers becomes a one-column sheet at best. An object whose values are arrays (a map of lists) is the wrong shape; invert it in code first.
Headers, missing keys, and types
Union of keys across all objects is the usual header set. Row 1 might lack "phone" while row 2 has it; the first row still gets an empty phone cell. That is correct CSV.
Booleans and numbers become their text forms (true, 3.14). null becomes an empty cell or the word null — check a sample row. Dates that are ISO strings stay strings; Excel may parse them on open.
Commas and quotes inside values are escaped with CSV quoting rules. Newlines inside a JSON string become a quoted multiline field, which some importers dislike. Replace newlines if the destination is picky.
What this tool is not
It is not a general ETL mapper. It will not join two arrays, will not explode a nested array into extra rows (unless a specific flatten mode says so), and will not apply JSONPath. For those jobs, use a script. It is also not XLSX — you get CSV. Open it in Excel or send it through CSV to XLSX (also local on ToolPin) if you need a workbook.
Deep GeoJSON, GraphQL blobs, and arbitrary nested documents are a poor fit. Extract the array you actually need with JSON Formatter + a small edit, then convert.
Privacy and size
Because conversion is local, you can turn a production export into CSV on your laptop without sending PII to a converter site. Large arrays (hundreds of thousands of rows) may hit memory limits in the tab. Split the JSON or use a command-line tool.
After you download
Open the CSV as UTF-8. Confirm the header row. If a column shifted, a value probably contained an unescaped quote in the source — fix the JSON string. Keep the JSON as the structured source of truth; CSV is a projection.
Going the other way: CSV to JSON on ToolPin rebuilds an array of objects from rows. Round-trips lose types (everything comes back as strings unless you coerce) and lose nested structure you flattened away.