About this tool
API responses and database documents are usually JSON, but business users and analysts want Excel-friendly CSV. Converting the two manually is painful once fields start differing between records.
DataFmt's JSON to CSV tool scans every object in your array, merges all of the fields into a single header row and then aligns every record to that header. Missing fields become empty cells; extra fields are appended in a stable order. You never have to worry about column drift.
The conversion runs in the browser, so even payloads with customer information stay private on your device.
How to use
- Paste a JSON array like `[{"name":"Alice"}, {"name":"Bob"}]` into the input panel.
- Choose a delimiter (comma, semicolon or tab). Semicolon is common on Chinese Windows Excel.
- Click "Convert" to see the CSV on the right.
- Use "Download" to save a .csv file you can open in any spreadsheet app.
Use cases
- Export API responses to CSV for analysts to explore in Excel.
- Dump NoSQL document lists into tabular form for reporting and charting.
- Archive API test samples for version-to-version comparison.
Notes
- Input must be a JSON array whose elements are objects. Flatten nested objects first if needed.
- Missing fields are rendered as empty cells; columns remain aligned across rows.
- Values containing separators, newlines or quotes are escaped according to RFC 4180 and are safe in any CSV reader.
Frequently Asked Questions
Why does the tool say my JSON is invalid?
Make sure the input is a valid array (starts with `[`, ends with `]`) and that every element is an object. A single object should be wrapped in `[...]`.
How are nested objects handled?
Nested objects are serialised as JSON strings inside the cell. If you need a fully flat CSV, flatten the data before conversion.
Why does my CSV look garbled in Excel?
This is usually an encoding mismatch. Our CSV is plain UTF-8. In Excel, use Data > From Text and select UTF-8 during import, or save the file as UTF-8 with BOM in an editor.
Is the column order stable?
Yes. We start from the field order of the first record and append any new fields in the order they first appear.
Are there file-size limits?
Browsers can comfortably handle tens of megabytes. For multi-GB datasets you will get better performance from a dedicated Node.js or Python script.