What is the JSON CSV Converter?
The JSON CSV Converter is an online tool that turns JSON data into CSV you can open directly in Excel, and turns CSV (spreadsheet) tables back into clean, code-ready JSON — in both directions. It replaces the tedious manual work of reshaping API responses into tables, or moving spreadsheet data into code, with a single paste.
Nested objects and arrays are automatically flattened with dot notation (user.address.city) so each record fits neatly into one row, and CSV files with dot-notation headers are restored back into nested JSON. The classic 'garbled characters in Excel' problem is solved with the UTF-8 BOM option, and every conversion runs entirely inside your browser — nothing is uploaded to a server.
Key Features
Two-Way JSON ↔ CSV
Switch between JSON → CSV and CSV → JSON instantly with the top tabs, and feed the output back into the input for round-trip conversions — all on one screen.
Flatten & Restore Nesting
Auto-flatten nested objects and arrays into dot notation, and restore dot-header CSV back into nested JSON. Flatten on/off and array-join options included.
Excel-Ready & Custom Delimiters
Choose comma, semicolon, or tab delimiters and download a .csv that won't garble non-ASCII text in Excel thanks to the UTF-8 BOM option.
Robust Parsing & Live Preview
PapaParse safely handles quotes, line breaks, and escapes, and the result is shown instantly as a table along with row and column counts.
How to Use
- Pick the conversion direction — JSON → CSV or CSV → JSON — using the top tabs.
- Paste your data into the input box, or load a .json/.csv file via Upload or drag and drop. Use the Sample button to see an example.
- Configure options such as the delimiter, Flatten nested, header-row detection, and Excel-ready (BOM) as needed.
- The conversion runs instantly, showing the output and a table preview with row and column counts.
- Click Copy to put it on your clipboard, or Download it as a .csv / .json file.
Use Cases
API Response to Excel
Convert a REST API's JSON response into CSV to sort, filter, and chart it in Excel or Google Sheets.
Spreadsheet Data to Code
Turn CSV exported from a spreadsheet into a JSON array for seed data, mock data, or config files.
Flatten Nested Data
Expand nested objects and arrays like addresses or tags into dot notation, fitting one record per row for BI tools and table analysis.
Data Migration
Convert DB exports, logs, and analytics data between JSON and CSV for moving data across systems and backups.
Frequently Asked Questions
Why does Korean (or other non-ASCII) text break when I open the CSV in Excel?
Excel can misread the encoding of a UTF-8 CSV without a BOM, causing garbled characters. Enable this tool's 'Excel-ready (BOM)' option before downloading and a UTF-8 BOM is added to the front of the file so the text displays correctly in Excel.
How are nested JSON objects and arrays handled?
With 'Flatten nested' enabled, nested objects and arrays are automatically flattened into dot notation (e.g. user.address.city, tags.0) and placed on one row. Primitive arrays can be joined into a single comma-separated cell with the 'Join arrays' option. Conversely, CSV with dot-notation headers is restored into a nested structure when converting to JSON.
Can it convert a single object, not just an array of objects?
Yes. A single object ({...}) is automatically converted into a one-row table. An array of objects ([{...},{...}]) becomes multiple rows; even if rows have different keys, all keys are collected into the header and missing values are filled with empty cells.
What if my CSV's first row isn't a header?
Turn off the 'First row as header' option to treat the first row as data; columns are then auto-named col1, col2… For a normal CSV that has a header, just leave the option on.
Are numbers and true/false converted to strings?
When converting CSV → JSON with 'Auto-detect types' enabled, number-like values become numbers, true/false become booleans, and null becomes null. However, values with leading zeros (e.g. zip code 04524) are kept as strings so their meaning isn't lost.
Is the data I enter sent to a server?
No. All conversion happens 100% inside your browser, and your data is never sent to or stored on a server. Only your option settings are saved locally. No sign-up or login is required, and there are no ads.
Privacy Notice
The JSON/CSV data you enter and the converted results are processed entirely within your browser and are never sent to or stored on any server. Only your option settings are saved to the browser's localStorage for convenience, and uploaded files are read only in browser memory. You can convert sensitive data with peace of mind.