JSON to CSV Converter
Convert JSON objects or arrays of records into structured CSV text with customizable delimiter support.
Run tool
This online JSON to CSV converter transforms structured JSON text into comma-separated tabular records. You can paste a single JSON object or a nonempty JSON array whose first entry is an object. The converter inspects each record, compiles every unique property key across the dataset to build the header row, and places values into matching columns. When an individual record does not include a specific property found in another record, the corresponding CSV cell remains empty. By default, fields are separated with a standard comma, but you can enter a custom character, such as a semicolon or tab delimiter, into the delimiter field. If you provide multiple characters for the delimiter, the tool uses the first character to separate row values. Values convert directly to text representation. Empty inputs, malformed JSON structures, and arrays starting with non-object values are not processed. Each converted record outputs as a single row right beneath the generated column header line.
Instructions
- Paste your JSON text into the Input Text box as an object or a nonempty array of objects.
- Optionally enter a custom delimiter character in the Delimiter field, or leave it blank to use the default comma.
- Run the conversion to generate the CSV table.
- Copy the resulting CSV text directly from the output panel for use in spreadsheet editors or data workflows.
Examples
- Input: [{"id": 1, "name": "Alex", "city": "Seattle"}, {"id": 2, "name": "Jordan"}] with delimiter "," produces a header row "id,name,city" followed by "1,Alex,Seattle" and "2,Jordan,".
- Input: {"product": "Notebook", "price": 12.5, "availability": "In stock"} with delimiter ";" produces a header row "product;price;availability" followed by "Notebook;12.5;In stock".
FAQ
What JSON formats can this tool convert?
The converter accepts a single JSON object or a nonempty JSON array where the first item is an object. Top-level strings, numbers, other single values, empty arrays, or arrays starting with non-object elements cannot be converted.
How are missing properties handled in array items?
The header row includes all unique keys found across all processed objects. If a particular object lacks a key that exists in another object, the output row leaves that specific column empty.
What happens if I enter more than one character for the delimiter?
The tool takes the first character of the supplied string as the separator and ignores any additional characters. If the delimiter field is left empty, it defaults to a standard comma.
Does the converter flatten deeply nested objects into separate columns?
No. Nested objects and arrays are converted directly into text strings within their respective column cells rather than expanded into multiple sub-columns.