Skip to content
Convert Row

JSON to CSV Converter

Paste a JSON array of objects and get a CSV with headers derived from the keys.

  • 100% local — nothing leaves your browser
  • No sign-up, no account, always free
  • Instant download once converted

Paste a JSON array of objects and get a CSV with headers derived from the keys.

Need to go the other way? Convert CSV to JSON →

JSON to CSV Conversion: Flatten API Data into a Spreadsheet

JSON is the native language of web APIs and modern databases, but most data analysts, business teams, and reporting tools prefer working in spreadsheets. Converting JSON to CSV flattens a structured array of objects into rows and columns you can open in Excel, import into Google Sheets, or feed into any data processing pipeline that consumes CSV.

ConvertRow accepts a JSON array of objects. Each object becomes a row, and the union of all keys across all objects becomes the column headers. If some objects are missing a key, the corresponding cell is left empty. This approach handles inconsistent JSON records — common in API responses — without errors.

The conversion runs entirely in your browser using a local JavaScript parser. No data is sent to a server, which makes it safe to use with API responses that contain personal data, authentication tokens, or other sensitive information. Paste your JSON, click Convert, and download the CSV immediately.

For best results, ensure your JSON is an array at the top level (starts with [ and ends with ]). Nested objects and arrays within records are serialised as JSON strings in the corresponding cell — if you need them expanded into their own columns, flatten the JSON structure before converting. Single-level flat objects convert most cleanly.

Common use cases for JSON to CSV conversion:

  • Exporting API response data for analysis in a spreadsheet
  • Converting a NoSQL database export into a flat table
  • Preparing JSON seed data for import into a relational database via CSV
  • Sharing structured data with non-technical stakeholders in a familiar format
  • Migrating records from a JSON-based system to a CSV-importing tool

Frequently Asked Questions

The converter expects a JSON array of objects — for example [{"name":"Ada","role":"Engineer"},{"name":"Bob","role":"Designer"}]. It also accepts a single object, which it wraps in an array automatically. Nested arrays of arrays are also supported and treated as rows of values.

Nested objects and arrays are serialised as a JSON string in the cell. For example, if a record has "address":{"city":"London"}, the CSV cell will contain {"city":"London"} as text. If you need those fields as separate columns, flatten the JSON before converting.

Yes. The conversion is done in-browser with JSON.parse, which handles files of hundreds of megabytes given sufficient device memory. There is no server-side limit, and the conversion speed depends only on your device.

JSON null values are converted to empty cells in the CSV. Undefined keys (a key present in some objects but missing from others) also produce empty cells for the records where the key is absent.

Columns appear in the order keys are first encountered — typically matching the key order of the first object in the array. Subsequent objects may have additional keys that are appended to the right. Modern JavaScript engines preserve insertion order for object keys.