JSON to CSV Converter

Output
Examples:

Last updated: 2026-09-17

Paste a JSON array of objects and get CSV output instantly. Nested objects are flattened to dot-notation columns. Choose how arrays are handled — join with separators, explode into multiple rows, or serialize as JSON strings. Toggle the UTF-8 BOM for Excel compatibility. Everything runs in your browser.

Keys with dots

If your JSON keys contain dots (e.g. {“a.b”: 1}), flattening may produce ambiguous column names. Disable “Flatten nested objects” or use a different flatten delimiter to avoid collisions.

Empty arrays

When array handling is set to “explode” and an array is empty, that row produces zero output rows. When set to “join” or “JSON string”, empty arrays produce an empty string or ”[]” respectively.

Formula injection

CSV output escapes values starting with =, +, -, or @ by wrapping them in double quotes to prevent formula injection attacks when opened in Excel.

Frequently asked questions

How are nested objects handled in CSV?
By default, nested objects are flattened using dot notation. For example, {"address": {"city": "NYC"}} becomes a column named "address.city" with value "NYC". You can disable flattening to keep the original key, in which case the nested object is serialized as a JSON string.
What does "explode into rows" do?
When a field contains an array, the explode option creates one CSV row per array element. For example, {"name": "Alice", "tags": ["vip", "beta"]} becomes two rows: one with tag "vip" and one with tag "beta". Non-array fields are repeated on each row.
Why does my CSV look wrong in Excel?
Excel may not detect UTF-8 encoding without a BOM. Enable the "UTF-8 BOM" option to prepend the byte-order mark, which tells Excel to use UTF-8. This fixes accented characters, CJK text, and emojis that would otherwise appear corrupted.
What delimiters are supported?
Comma (default), semicolon, tab, and pipe. Semicolon is commonly used in European locales where comma is the decimal separator. Tab-delimited output opens directly in spreadsheet applications.
How are null values handled?
Null values become empty strings in the CSV output. This matches the behavior of most spreadsheet applications, which treat empty cells and null as equivalent.
Can I convert a single JSON object (not an array)?
Yes. A single JSON object produces a one-row CSV with the object keys as column headers. An array of objects produces one row per element. Non-object array elements (strings, numbers) are not supported — the array must contain objects.

Related converters