JSON

JSON to CSV

Convert JSON arrays to CSV format instantly.

JSON input

CSV output

0 B

0 records, 0 columns.

Conversion updates as you edit. JSON and CSV stay in browser memory and are not uploaded or saved in URLs or browser storage. Files up to 10 MB are read locally.

Your data stays private

This tool runs directly in your browser. The content you enter is processed locally and is not sent to TechFixGen servers. No account or signup is required.

JSON to CSV conversion guide

Records and columns

Paste a JSON array of objects or a single root object, or choose a local JSON file up to 10 MB. Every object becomes one data row. Columns use the union of keys across every record in encounter order. Include headers adds one row of column names; disabling it exports all data rows without that row.

Nested values

Nested objects flatten to dotted columns, such as address.city. Arrays stay compact JSON inside one cell. Empty nested objects become the text {}. A literal dotted key that conflicts with a nested path is rejected instead of overwriting a value. Deep objects use the existing JSON parser's nesting limit.

Missing properties and types

Missing properties, null, and empty strings become empty cells, so CSV cannot distinguish them. Numbers and booleans become text; numeric JSON uses JavaScript number precision. Keep large identifiers and leading zeros as JSON strings. CSV parsing returns textual values, not the original JSON types. Empty input and empty arrays produce no output; records with no columns, root primitives, and arrays containing non-object items are rejected.

Escaping and delimiters

Choose Comma, Tab, Semicolon, or Pipe. Fields containing the selected delimiter, double quotes, LF or CR are quoted, and embedded quotes are doubled. Empty cells are quoted to preserve single-column empty rows. Comma output follows RFC 4180 quoting rules; other delimiters use the same escaping convention. CRLF is the default row separator; LF is also available. Line breaks inside values are preserved.

Copy, download and privacy

Copy and Download use the complete CSV. A selected customers.json file downloads as customers.csv; pasted data downloads as converted.csv. Processing is browser-local: content is not uploaded to TechFixGen, sent in analytics, or saved in the URL, localStorage, or sessionStorage. Large documents consume browser memory and can take longer to convert.

Spreadsheet applications may interpret values beginning with formula characters as formulas. CSV quoting is structural escaping, not formula neutralization. Review untrusted data before opening it in a spreadsheet.

Frequently asked questions

What JSON structures are supported?

Use an array of objects or a single root object. Each object becomes one row. Root primitives and arrays containing primitives, null, or other arrays are rejected. Empty input or an empty array produces no output.

What happens when records have different properties?

Columns use the union of keys across all records, in encounter order. Missing values, null and empty strings become empty cells. Include headers adds a single header row; disabling it keeps every data row.

How are nested objects and arrays handled?

Nested objects flatten to dotted leaf columns such as address.city. Arrays are compact JSON in one cell. Empty nested objects become {}. Conflicting literal dotted keys and nested paths are rejected to avoid overwriting values.

Are CSV values typed?

CSV is text. Numbers and booleans become strings, and null cannot be distinguished from an empty cell. Numeric precision follows JavaScript numbers; use JSON strings for large identifiers or leading zeros.

How are quotes and line breaks escaped?

Fields containing the selected delimiter, double quotes, CR or LF are wrapped in quotes. Embedded quotes are doubled. Comma, semicolon, tab and pipe are supported. Choose CRLF or LF row separators; line breaks inside values are retained.

Is my JSON uploaded or saved?

No. Conversion runs locally in your browser. Input and output are not sent to a service or included in analytics, and are not saved in the URL, localStorage, or sessionStorage. Copy and Download act only when clicked.

Can I choose a file and download the CSV?

Yes. JSON files up to 10 MB are read locally. Download saves complete CSV as customers.csv for a customers.json input, or converted.csv for pasted input. Larger files are rejected; complex documents may take longer to process.