Quick Answer
Paste a JSON array such as [{"name": "Asha", "city": "Patna"}] and the converter produces CSV with one column per key — nested objects become columns like address.pin and values containing commas or quotes are quoted correctly. Download it and open it in Excel or Google Sheets (tick “Add BOM” so Hindi and ₹ display correctly). Switch to CSV → JSON to turn a spreadsheet export into a JSON array.
What is a JSON to CSV Converter?
A JSON to CSV Converter (JSON से CSV कन्वर्टर) moves data between the two formats that power most data exchange today. JSON is how APIs, apps and databases like MongoDB and Firebase return data: nested objects and arrays in a text format developers love. CSV is how spreadsheets, accounting software, email platforms and analysts like it: simple rows and columns that open directly in Excel or Google Sheets. Converting by hand is tedious and error-prone — keys differ between records, values contain commas, nested objects don't fit into cells, and Hindi text turns into gibberish in Excel.
This free converter handles all of that. In JSON → CSV mode it uses every key found as a column, flattens nested objects into dot-named columns, keeps arrays as JSON text, and quotes values correctly. In CSV → JSON mode it turns rows into objects using the header row, optionally converting numbers and true/false values. You can choose the delimiter, preview the result as a table, add a byte-order mark so Excel shows Hindi and ₹ correctly, and download the file. Parsing uses the battle-tested open-source PapaParse library, and your data never leaves your browser.
Key Features
- Two directions — JSON → CSV and CSV/TSV → JSON.
- Union of keys — records with different fields still line up.
- Flattening — nested objects become columns like address.pin.
- Standards-compliant quoting (RFC 4180) for commas, quotes and line breaks.
- Type conversion — numbers and booleans when converting to JSON.
- Four delimiters — comma, semicolon, tab and pipe; auto-detected on input.
- Excel BOM option for correct Unicode display.
- Preview table, file open and download.
How to Convert — Step by Step
- Choose the direction: JSON → CSV or CSV → JSON.
- Paste your data or click Open file.
- Pick the delimiter and options (flattening and BOM for CSV output; header and types for JSON output).
- Review the message and preview table — they show rows, columns and any parsing warnings.
- Copy the result or Download it as .csv, .tsv or .json.
Worked Example
The sample JSON contains three people with slightly different fields — one has tags and an address, one has an “active” flag, one has a note with quotes, and one name contains a comma. Converting to CSV produces columns name, city, score, tags, address.pin, active, note. “Rohit, Jr.” is wrapped in quotes so the comma does not split the cell, the note said "hello" becomes "said ""hello""" as the CSV standard requires, the tags array becomes ["math","science"], and missing values are left empty. The Hindi name मीना is preserved; tick “Add BOM” before downloading to see it correctly in Excel.
How Nested JSON Is Flattened
CSV is flat — every cell holds one value — while JSON can nest objects inside objects. With flattening on, the converter walks into nested objects and joins the keys with dots:
| JSON | CSV columns |
|---|---|
| {"user": {"name": "Asha", "contact": {"email": "a@x.in"}}} | user.name, user.contact.email |
| {"tags": ["a", "b"]} | tags → ["a","b"] (kept as JSON text) |
| {"meta": {}} | meta → {} (empty object kept as text) |
| {"price": null} | price → empty cell |
Arrays are not spread into multiple columns because their length varies between records; keeping them as JSON preserves the data so it can be parsed again later. Untick flattening to keep whole nested objects as JSON text in single cells.
Opening CSV Files in Excel Correctly
- Hindi or ₹ looks garbled — re-download with “Add BOM for Excel” ticked. The BOM is three invisible bytes that tell Excel the file is UTF-8.
- Everything is in column A — your Excel region expects semicolons; choose the Semicolon delimiter, or import with Data → From Text/CSV.
- Leading zeros disappear (PIN codes, phone numbers) — Excel converts them to numbers. Import via Data → From Text/CSV and set those columns to Text.
- Long numbers show as 9.87654E+11 — again, import the column as Text.
- Google Sheets handles UTF-8 CSV without a BOM; use File → Import.
Converting CSV to JSON
CSV → JSON is useful when you need to feed spreadsheet data into an app, API, Firebase import, static website or test fixture. With “First row is the header” ticked, each row becomes an object keyed by the column names; untick it to get arrays of values instead. “Convert numbers and true/false” turns 91 and true into real JSON numbers and booleans — leave it off for codes like PIN numbers or phone numbers where leading zeros matter. Empty lines are skipped, and the message reports the detected delimiter and any rows with too many or too few fields.
CSV Rules in Brief (RFC 4180)
- Each record is on its own line; the first line can be a header.
- Fields are separated by the delimiter — usually a comma.
- Fields containing the delimiter, double quotes or line breaks must be enclosed in double quotes.
- A double quote inside a quoted field is written as two double quotes.
- There is no official type information — everything is text until a program interprets it.
How the Converter Works
The tool parses JSON with the browser's native JSON parser and reports exact error positions for invalid input. It then builds the list of columns in the order keys first appear, optionally flattening nested objects, and passes rows to PapaParse's unparse function, which handles quoting. For CSV input, PapaParse's parser reads the text, auto-detects the delimiter when you leave it on comma, applies the header and type options, and returns objects that are pretty-printed as JSON. PapaParse is MIT-licensed and loaded once from a public CDN; all processing stays on your device.
A Note on CSV Injection
If a CSV value starts with =, +, - or @, spreadsheet programs may treat it as a formula when the file is opened. Data from untrusted sources — such as form submissions — could therefore contain formulas that run when an employee opens the export. The converter writes your data exactly as it is and does not alter such values. If you export user-submitted data for colleagues, consider prefixing suspicious values with an apostrophe or opening the file with formula evaluation disabled.
Common Uses
- Exporting API or database results to Excel for reports.
- Preparing contact lists for email or SMS platforms.
- Converting spreadsheet data into JSON for apps and websites.
- Importing product catalogues into e-commerce platforms.
- Creating test data and fixtures for developers.
- Sharing data with non-technical colleagues in a familiar format.
- Converting Google Forms or survey exports into JSON for dashboards.
Common Mistakes to Avoid
- Invalid JSON — trailing commas and single quotes are not allowed; use our JSON Formatter to find errors.
- Losing leading zeros by letting Excel auto-convert columns.
- Turning on type conversion for ID-like columns.
- Mixing delimiters — a semicolon file read as comma-separated puts everything in one column.
- Forgetting the BOM when the data contains Hindi or symbols.
Troubleshooting
- “Invalid JSON” — the message shows where parsing failed; check brackets, quotes and commas.
- Too many or too few fields — a row has an unquoted comma or a missing value; fix that row in the source.
- “Could not load the CSV engine” — the first conversion needs internet to fetch PapaParse.
- Columns in an unexpected order — columns follow the order in which keys first appear; reorder them in your spreadsheet if needed.
Quick Glossary
- JSON: JavaScript Object Notation, a text format for structured data.
- CSV / TSV: comma- / tab-separated values.
- Delimiter: the character separating fields.
- BOM: byte-order mark, an invisible marker for UTF-8 files.
- Flattening: turning nested structures into single-level columns.
- Header row: the first CSV line containing column names.
- Dot notation: naming nested fields by joining keys with dots, such as user.contact.email.
- Type conversion: turning text like "91" or "true" into real numbers and booleans.
Why Use This Converter?
It converts accurately in both directions, copes with messy real-world JSON, produces CSV that opens cleanly in Excel — Hindi included — and keeps your data private. Free, fast and no sign-up.
JSON to CSV Converter — Key Facts
| JSON → CSV | Columns = all keys found; nested objects → dot columns; arrays → JSON text |
|---|---|
| CSV → JSON | First row = keys; optional number and true/false conversion |
| Delimiters | Comma, semicolon, tab (TSV), pipe; auto-detect when parsing |
| Quoting | RFC 4180 — commas, quotes and line breaks handled |
| Excel | Optional UTF-8 BOM keeps Hindi and ₹ readable |
| Engine | PapaParse 5.4.1 (MIT), runs in your browser |
Frequently Asked Questions
How do I convert JSON to CSV?
Paste a JSON array of objects into the box with JSON → CSV selected. Each object becomes a row and each key a column. Copy the CSV or click Download to save a .csv file you can open in Excel or Google Sheets.
What happens to nested JSON objects?
With “Flatten nested objects” ticked, nested objects become separate columns using dot notation — {"address": {"pin": "800001"}} becomes a column named address.pin. Arrays are kept as JSON text in a single cell, such as ["math","science"].
What if objects have different keys?
The converter collects every key that appears in any object and uses them all as columns. Objects that lack a key get an empty cell.
Why do Hindi characters look broken in Excel?
Excel on Windows often assumes an old encoding for CSV files. Tick “Add BOM for Excel” before downloading — the invisible byte-order mark tells Excel the file is UTF-8, so Hindi, ₹ and emoji display correctly.
Why does Excel put everything in one column?
In some regions (much of Europe) Excel expects semicolons rather than commas. Choose the Semicolon delimiter, or use Data → From Text/CSV in Excel and pick the comma delimiter.
How do I convert CSV to JSON?
Choose CSV → JSON and paste your CSV. With “First row is the header” ticked, each row becomes an object whose keys are the column names. Tick “Convert numbers and true/false” to get 91 instead of "91".
Does it handle commas and quotes inside values?
Yes. Values containing the delimiter, double quotes or line breaks are wrapped in quotes and inner quotes are doubled, following the RFC 4180 CSV standard. The parser reads such values back correctly.
Can I convert TSV (tab-separated) files?
Yes. Choose Tab as the delimiter to create TSV, or paste TSV in CSV → JSON mode — the delimiter is detected automatically.
My JSON is an object, not an array — will it work?
If the object contains an array (for example {"data": [...]}), the first array found is used. A single object becomes a one-row CSV.
Is there a size limit?
No fixed limit. Files of several megabytes convert quickly; the preview shows the first 50 rows to keep the page responsive.
Is my data uploaded?
No. Conversion happens in your browser. Only the open-source PapaParse library is downloaded from a public CDN the first time you convert.
Is the converter free?
Yes. It is free, unlimited and needs no sign-up.
Move Data Between JSON and Spreadsheets!
Accurate, Excel-ready conversion in both directions — free and private.
Explore More Prompt Minds Tools
JSON to CSV Converter works great alongside our other free tools. Every Prompt Minds tool runs entirely in your browser — no sign-up, no uploads, no watermarks. Browse all free tools.
