Free online JSON to CSV converter
Convert nested JSON records into a compatible, editable CSV table.
Convert JSON to CSV online - free
Your file is processed instantly and never stored on our servers.
Import a file from a URL
Paste a direct link to the file. We download it to our server and it is converted exactly like an upload.
How it works
-
1/3
Upload your .json file
Click to browse to select your file you want to convert or simply drag & drop your file into selected area.
-
2/3
Perform .json to .csv conversion
After successful file upload, click to convert when you are ready.
-
3/3
Download converted .csv file
Conversion result is ready to download.
How to convert json to csv file
- Text files
- No ratings yet.
A spreadsheet, database importer, or reporting system may require tabular CSV rather than structured JSON. Converting the data makes flat records easier to edit in Excel or LibreOffice Calc and provides the layout expected by many bulk-import tools.
What JSON is
JSON (JavaScript Object Notation) is a text format built from objects, arrays, key-value pairs, numbers, strings, Boolean values, and null. Web APIs, browser applications, configuration systems, databases, and programming languages commonly produce files with the .json extension.
JSON can store nested objects and arrays, so one record may contain several levels of related data. That flexibility does not map directly to a flat spreadsheet table. A JSON Lines or NDJSON file, in which each line is a separate JSON object, also requires a different import procedure from one standard JSON document.
What CSV is
CSV (comma-separated values) represents tabular records as rows, with one field per column. The first row often contains column names. A field containing a delimiter, quotation mark, or line break must be quoted; quotation marks inside a quoted field are normally represented by two quotation marks.
Excel, LibreOffice Calc, database importers, statistical software, and data-processing scripts support CSV. It works well for flat lists, filtering, sorting, and bulk imports, but it does not natively retain nested objects, arrays, data types, formulas, or cell formatting. CSV implementations may use a semicolon or tab instead of a comma, so the destination's delimiter requirement must be checked.
How to convert the file
For a one-time conversion, use the JSON-to-CSV converter on 101convert.com for free without installing software:
- Open the converter and upload the
.jsonfile or paste a JSON document. - If field selection or flattening options are available, choose the array containing the records and the fields that should become columns.
- Start the conversion and download the resulting
.csvfile. - Open the CSV in LibreOffice Calc, Excel, or another spreadsheet application and verify the delimiter, character encoding, headers, row count, and representative values.
Do not upload confidential or regulated data unless the service is approved for that data.
For repeatable or private conversions, Python's standard-library json and csv modules avoid an additional package. This example expects a top-level array of objects:
import csv
import json
with open("input.json", encoding="utf-8") as source:
records = json.load(source)
if not isinstance(records, list) or any(not isinstance(record, dict) for record in records):
raise ValueError("Expected a top-level array of objects")
columns = list(dict.fromkeys(
key for record in records for key in record
))
with open("output.csv", "w", newline="", encoding="utf-8-sig") as target:
writer = csv.DictWriter(
target, fieldnames=columns, extrasaction="ignore"
)
writer.writeheader()
writer.writerows(records)
Save the code as json_to_csv.py and run python json_to_csv.py. The script preserves the order in which keys first appear, writes blank cells for missing keys, and leaves nested values unsuitable for a flat CSV conversion. The utf-8-sig encoding adds a UTF-8 byte-order mark that helps some Windows versions of Excel detect Unicode text; use plain utf-8 when the receiving system does not accept a byte-order mark.
Some versions of Microsoft Excel can import JSON through Data → Get Data → From File → From JSON. In Power Query, expand the top-level list or record, expand nested records into columns, then use Close & Load; export the resulting table with File → Save As and select CSV. If the installed Excel version lacks this connector, convert the file first and open the CSV through its import dialog. In LibreOffice Calc, use File → Open for the resulting CSV and select UTF-8, the required separator, and the correct quote character.
Quality and compatibility limits
The most convenient input is a top-level array such as [{"id":1,"name":"A"},{"id":2,"name":"B"}]. A top-level object may represent one record, a wrapper containing the real record array, or unrelated metadata. The converter must identify the intended array before producing meaningful rows.
Nested objects and arrays require an explicit policy. They can be flattened into columns such as address.city, serialized as JSON text inside one quoted CSV field, or omitted. Array values may be joined into text. Different converters use different policies, so inspect nested fields and several output rows rather than checking only the headers.
CSV has no dependable native distinction between numbers, dates, Boolean values, and strings. Spreadsheet software may convert identifiers, leading zeros, long integers, or ISO dates automatically. Import columns as text when their original spelling must remain unchanged, and confirm that empty values, null, and missing fields have the required meaning.
Use UTF-8 for non-ASCII characters and confirm whether the target expects commas, semicolons, tabs, CRLF line endings, or a byte-order mark. Treat untrusted CSV as potentially unsafe in spreadsheet software: values beginning with =, +, -, or @ may be interpreted as formulas. Inspect or neutralize such values before opening the file.
JSON vs CSV: format comparison
How the JSON and CSV formats compare on the properties that matter most for this conversion.
| Property | .JSON JavaScript Object Notation | .CSV Comma-Separated Values |
|---|---|---|
| Plain-text readable | Yes | Yes |
| Data types | Typed | Typed |
| Nested structures | Yes | No |
| Formulas | No | No |
| Multiple tables or sheets | No | No |
| Typical file size | Small | Small |
| Open standard | Yes | Yes |
| Best used for | Data exchange | Data exchange |
| Introduced | 2001 | — |
| Developer | Douglas Crockford / ECMA International | — |
| MIME type | application/json | text/csv |
Suggested software and links: json to csv converters
Frequently asked questions
Is the JSON to CSV converter free?
Yes, converting JSON to CSV on 101convert.com is completely free. No registration, email address or installation is required. If you need a higher file size limit or want to convert more files at once, see our plans.
How large can my JSON file be?
You can upload JSON files up to 300 MB and convert up to 100 files at once in a single batch.
What happens to my uploaded files?
Files are processed automatically and deleted from our servers within a few minutes after conversion. We never view or share your files.
Do I need to install any software to convert JSON to CSV?
No. The JSON to CSV conversion runs entirely online in your browser and works on Windows, Mac, Linux, Android and iPhone.
Did the conversion fail?
In most cases, the cause is an incorrect file format. Please upload a valid JSON file for this JSON to CSV conversion. Occasionally, the issue may be on our side. We analyze recurring conversion failures and disable or fix the converter if we detect a defect.