Guide
Convert JSON to CSV without Excel
Start with an array of records
A useful JSON to CSV conversion starts with an array where each item is an object. Each object becomes a row, and each property becomes a column. An empty array produces an empty CSV file. A single object is not the same shape as a list of records, so wrap it in an array only when the receiving system expects one row.
The header is the union of keys in the order they first appear. If the first object containsname and city, and a later object contains name androle, the output has all three columns. A row that does not have a property gets an empty cell. This preserves the difference between a missing property and a value that is present as text.
TheDevTab's JSON to CSV tool accepts this shape and converts it entirely in the browser. The source JSON is not uploaded, and the output is not sent to a spreadsheet service.
What happens to values
CSV is a text format. Numbers and booleans are written using their normal text forms, while null and missing values become empty cells. A receiving application may later interprettrue or 2 as a boolean or number, but that is a decision made after the conversion. Keep a schema nearby when leading zeros, dates, or identifiers matter.
Nested objects and arrays remain in one cell as JSON text. For example, a tags array is kept as a quoted value containing the array rather than being guessed into several columns. This makes the output reversible, but it may not be the shape a reporting tool wants. Flatten nested data with an explicit rule when each nested property needs its own column.
Values containing commas, double quotes, or line breaks are quoted using normal CSV rules. Double quotes inside a quoted field are doubled. A CSV reader should remove those delimiters and return the original cell text. Test one real row with a comma and a line break before exporting thousands of records.
Why formula-safe export matters
Opening a CSV in a spreadsheet is not a neutral display operation. Some spreadsheet programs treat cells beginning with =, +, -, or @ as formulas. A value copied from an external system can therefore become an instruction when a person opens the file.
TheDevTab prefixes string cells beginning with =, +, @, a tab, or a carriage return with a single apostrophe. Strings beginning with -receive the same prefix unless they are plain negative numbers such as -1 or-3.14. Number and boolean cells from JSON are not altered. The apostrophe is intentionally part of the exported text, so a spreadsheet has a clear reason to keep the cell as text instead of executing it.
This protection is about export safety, not input validation. Review column names and values before sharing the file. A string such as an account ID can be meaningful even when it looks like a formula, and changing it during a later cleanup step can break reconciliation.
Check the file without Excel
You can inspect the generated CSV as plain text or use a parser that follows the CSV rules. Check the header order, number of rows, quoted fields, blank values, and formula prefixes. Re-importing with CSV to JSON is a quick local check, but remember that the reverse tool intentionally keeps all cells as strings.
Do not rely on a spreadsheet to remove private fields, infer a safe schema, or correct bad records. Filter and review the object list before conversion. If the source is not an array of objects, fix the data shape first or write a small explicit transform that explains how rows should be made.
A repeatable conversion checklist
- Confirm that the input is an array of objects.
- List the expected columns and decide how nested values should be represented.
- Test commas, quotes, line breaks, missing keys, and formula-like strings.
- Convert locally, inspect the text, and count rows.
- Only then open or import the file in the destination system.
Convert a JSON array to formula-safe CSV in the browser when the output shape and review steps are clear.