JSON to CSV Converter
Convert a JSON array of objects to CSV and choose how null values appear.
Try a small example
Try a small example
Load the fictional example in a cleared form. Check the options, run the tool if needed, and compare the result below.
Use the first-seen object keys as CSV columns and serialize nested values as JSON text in one cell. Choose whether JSON null becomes a blank cell or the text null. Paste a JSON array of objects; for example, [{"name":"Ada","score":10}]. Keys become columns and each object becomes a row. Choose whether null becomes an empty cell or the text null. Missing properties and empty strings become blank cells. Nested values stay as JSON text in one cell. Numbers that JavaScript cannot preserve exactly are rejected rather than rounded. Before opening output in a spreadsheet, review untrusted cells that begin with =, +, -, @, a tab, or a line break; they may be interpreted as formulas. CSV has no native null type: a blank cell cannot distinguish null, an empty string, and a missing property. The converter stops rather than round numbers that JavaScript cannot preserve exactly. It cannot create useful columns from an empty array or objects with no keys. If you open the output in a spreadsheet, review untrusted cells that may be interpreted as formulas; CSV quoting alone does not make every spreadsheet safe.
JSON array of objects
[{"id":"001","note":"tea, coffee"},{"id":"002","note":"hello"}]Expected output
id,note 001,"tea, coffee" 002,hello
The example is unavailable until the tool is ready.
Text is processed in your browser.
Share this tool
Only the tool’s public link is shared. Your inputs and results stay here.
Show link to copy manually
Quick answer
Use the first-seen object keys as CSV columns and serialize nested values as JSON text in one cell. Choose whether JSON null becomes a blank cell or the text null.
The page and its assets load from the site; this operation uses your entered values only in this browser and does not send them to a calculation endpoint.
How to use it
Paste a JSON array of objects; for example, [{"name":"Ada","score":10}]. Keys become columns and each object becomes a row. Choose whether null becomes an empty cell or the text null. Missing properties and empty strings become blank cells. Nested values stay as JSON text in one cell. Numbers that JavaScript cannot preserve exactly are rejected rather than rounded. Before opening output in a spreadsheet, review untrusted cells that begin with =, +, -, @, a tab, or a line break; they may be interpreted as formulas.
Limits
CSV has no native null type: a blank cell cannot distinguish null, an empty string, and a missing property. The converter stops rather than round numbers that JavaScript cannot preserve exactly. It cannot create useful columns from an empty array or objects with no keys. If you open the output in a spreadsheet, review untrusted cells that may be interpreted as formulas; CSV quoting alone does not make every spreadsheet safe.
Frequently asked questions
How are JSON null values represented?
By default, null becomes an empty CSV cell. Choose “As the text null” to make it visible; CSV cannot distinguish null, an empty string, and a missing property on its own.
What happens to nested objects and arrays?
They are serialized as JSON text inside one CSV cell, with CSV quotation marks added when required. For example, an empty array becomes [] without quotation marks; an object containing quoted property names is quoted and its internal quotation marks are doubled.
Why can conversion stop on a number?
Some JSON numbers contain more precision or range than JavaScript can preserve. The converter stops instead of rounding them; keep identifiers as quoted strings or use a lossless JSON tool.
What happens to missing properties?
A missing property becomes a blank cell, just like an empty string. CSV has no separate value for a missing field.
Can I safely open any output in a spreadsheet?
Not automatically. Spreadsheet programs may interpret cells beginning with formula characters as formulas. Review untrusted data before opening it; quoting a CSV field is not a universal safeguard.
Sources and references
- RFC 8259: JSON Data Interchange Format
- RFC 4180: Common Format and MIME Type for CSV Files
- MDN: JavaScript Number
- OWASP: CSV Injection
These references document the cited standard or browser API; they do not validate the tool’s output.
