The JSON to CSV converter turns an object into one row or an array of objects into multiple rows. Start with valid JSON; use the JSON formatter if you need help identifying a syntax error. Conversion checks structure, not whether the records represent the right business data.
Try rows with different fields
[
{"name": "Sam", "note": "Hello, world", "active": true},
{"name": "Alex", "score": 42}
]
The converter creates headers in the order keys are first encountered: name, note, active, then score. Missing fields become empty cells. This union of headers prevents a later record's new field from disappearing merely because it was absent from the first row.
Null values also become empty cells. If your downstream system must distinguish null from an empty string or a missing property, CSV alone will not retain that distinction in this workflow. Consider preserving the original JSON or adding an explicit status column before conversion.
Check commas, quotation marks and line breaks
The string Hello, world must occupy one cell rather than two columns. Fields containing commas, quotation marks or line breaks are quoted, and internal quotation marks are doubled. Rows use CRLF line endings. These conventions are described in RFC 4180.
Open the downloaded file using an import workflow that recognizes comma separation and UTF-8. Some spreadsheet locales default to another separator. A text editor can help distinguish a malformed file from a spreadsheet choosing the wrong delimiter.
Decide how to handle nesting
A nested array or object becomes a JSON string inside one CSV cell. The tool does not flatten nested properties into dotted headers or expand an array into multiple rows. For example, an address object remains one field instead of creating address.city and address.country columns.
If you need flattened data, transform and validate the JSON first. Choose a consistent policy for nested arrays: duplicating parent rows and joining values into one cell are different data models, with different effects on counts.
Review formula protection
Spreadsheet applications can interpret formula-like strings rather than displaying them as plain text. The converter's enabled protection prefixes such strings with an apostrophe. It applies to string values and headers, while a numeric negative value remains numeric text.
This changes the exported value and is not a guarantee about every spreadsheet importer. Keep protection enabled for unfamiliar data and verify the destination's behavior. If a machine-import workflow needs unchanged strings, decide deliberately whether disabling protection is appropriate.
Keep within practical limits
This tool accepts up to 1 MB of JSON, 10,000 rows and 250 columns. Empty arrays and arrays of primitive values are rejected because this workflow needs named fields. For larger datasets, use a streaming conversion pipeline and a schema suited to the destination. Keep the source file so that you can inspect types or re-export it later.