Convert JSON to CSV in your browser
Paste an array of flat JSON objects, choose a delimiter and turn each object into a spreadsheet row. Preview the first 50 rows before copying or downloading the complete CSV.
Conversion runs in a worker in your browser tab. Your input and output are not uploaded or included in analytics, and this tool does not save them between visits.
How it works
- Paste a nonempty JSON array whose objects contain strings, numbers, booleans or null. Nested objects and arrays are not supported.
- Choose comma, semicolon, tab or pipe, then select Convert to CSV.
- Check the column names and preview. Copy or download the complete result, then import it into your spreadsheet using the same delimiter.
How objects become rows and columns
Suppose the first object has name Ada and score 12, while the second has name Sam and active true. The result has three columns: name, score and active. Columns follow the first appearance of each key as JavaScript reads the objects; integer-like keys follow JavaScript's numeric-key order. A key missing from a row and a null value both become empty cells. False becomes false and zero becomes 0. An empty array or a set of objects with no keys is rejected.
Quoting and spreadsheet formula protection
Every field, including column names, is double-quoted. Double quotes within a field are doubled, and embedded line breaks remain inside that field. CSV records use CRLF line endings. Formula-looking string values and headers receive a leading apostrophe; numeric negative values remain numbers. This changes those string values deliberately and reduces formula-execution risk when opening the result in a spreadsheet. Spreadsheet import behavior varies, so review untrusted data before using or sharing it.
Numbers, repeated keys and flat data
This converter parses JSON using JavaScript number semantics. Nonfinite values and integer values outside the safe range −9,007,199,254,740,991 to 9,007,199,254,740,991 are rejected. Put long identifiers or exact decimal amounts in JSON strings to preserve their spelling. Decimal numbers can be rounded and numeric notation can change during conversion. Repeated object keys keep their last value. Nested values are rejected rather than flattened or silently discarded. This page does not accept JSON Lines or generate XLSX workbooks.
Previews and processing limits
The preview shows the header and up to 50 data rows. Copy and Download CSV include every row within the displayed input and item limits and the device's UTF-8 output limit. The item budget bounds both JSON tokens and the complete rectangular table, including empty cells. Processing runs in a cancellable worker; editing the input or delimiter clears the old result.
Frequently asked questions
Can I convert nested JSON?
No. Use an array of flat objects containing scalar values or null. Nested objects and arrays produce an error so you can reshape the data explicitly before converting.
Why is there an apostrophe before some values?
It is spreadsheet formula protection. A formula-looking string or header is prefixed with an apostrophe before CSV quoting. The added character can remain visible depending on how your spreadsheet imports CSV.
Can I open the result in Excel or Google Sheets?
Yes. Import the downloaded CSV as UTF-8 text and choose the delimiter used here. CSV contains rows and cells; it does not retain workbook formatting, formulas, multiple sheets or data types.
Are missing fields different from null?
Both become an empty CSV cell. If that distinction matters, replace missing fields or null with an explicit string in your source JSON first.
Sources
Last reviewed: November 7, 2026
Related tools
- CSV to JSONConvert CSV text to JSON with header and delimiter options. Handle quoted commas and newlines, preserve text values and copy or download the result.
- JSON FormatterFormat or minify JSON and check syntax in your browser. Preserve numeric literals and duplicate keys, then copy or download JSON without uploading your data.
- XML FormatterFormat or minify XML in your browser and check well-formedness. Keep mixed text, CDATA and xml:space content intact, then copy or download the result.