Turn an array of flat JSON records or a rectangular array of rows into CSV. Nested objects and arrays are rejected instead of being silently flattened. Formula protection is on by default for exports that may be opened in a spreadsheet.
Start with data that fits a table
A flat record has named fields whose values fit in individual cells, such as a name, code or quantity. An array of these records can become a table. A rectangular array instead provides rows with the same number of cells. These are the supported shapes because their row and column structure is explicit.
A record containing an address object or an array of tags is nested. This tool rejects nested values. Decide how those values should become columns before converting: an address might need separate city and postal code fields, while a list of tags needs a deliberate representation. Automatic flattening could obscure that decision.
Example: export an inventory list
Imagine flat records containing code, name and quantity. Keep a product code such as 00127 as a JSON string so its leading zeros are still present in the CSV text. A name such as Mug, blue is placed in a quoted CSV field so the comma does not create another column.
Before opening the result in a spreadsheet, use its import options to mark the code column as text. A converter can preserve the characters in a CSV, but the spreadsheet may still interpret them as a number. Inspect the imported code rather than assuming the preview and spreadsheet will always display it identically.
Understand formula protection
Spreadsheet applications can interpret certain leading characters as the start of a formula. Formula protection is enabled by default to help keep such exported cells as text. Review this setting when a table contains values beginning with characters such as =, +, - or @, especially when the values came from someone else.
Protection can deliberately alter how a cell is represented in the CSV. If a trusted downstream system needs the exact text, inspect the output and understand that system's behavior before turning protection off. Quoting a CSV field for commas is a separate operation; ordinary CSV quoting is not itself a formula safety guarantee.
Troubleshoot invalid JSON and uneven rows
JSON requires double quotes around property names and string values. Comments and trailing commas are not valid JSON. If parsing fails, check the location reported by the tool and correct the input before trying again. A JavaScript object copied from source code is not necessarily valid JSON text.
For arrays of rows, each row must contain the same number of cells. For nested records, choose the required columns in the source system first. Keep exports within 1 MB, 10,000 rows and 200 columns, and retain the original JSON for comparison after importing the CSV.
Protect long identifiers and precise decimals
JSON numbers are checked before conversion. A numeric value that would change when represented by JavaScript, an integer outside the safe integer range, an overflow, or a nonzero value that would round to zero is rejected. For example, write the identifier 1234567890123456789 as a quoted JSON string to preserve every digit. Keep precision-sensitive decimal values as strings too. Ordinary decimal values and scientific notation are accepted when their decimal value survives this check.
Frequently asked questions
Are nested objects converted into text cells?
No. Nested objects and arrays are rejected. Flatten the data intentionally before conversion so you control the column names and meaning of the values.
Will the CSV preserve JSON types?
CSV is a table of text fields and does not preserve a complete JSON type schema. Confirm how the receiving application interprets numbers, empty cells and other values during import.
Where is the data processed?
Conversion happens locally in your browser without uploading the input. Download or copy the result before leaving the page, and review a sample in the destination application before importing the full table.