Free JSON to CSV — no upload, no account

Convert JSON to CSV
Flat, clean, ready
in one click.

Free JSON to CSV converter. Nested objects flattened with dot-notation, custom delimiter, UTF-8 BOM for Excel. Runs entirely in your browser — your JSON never leaves your device.

Your data never leaves your browser
Dot-notation nested flattening
Comma, semicolon, tab or pipe
UTF-8 BOM for Excel
Always free
JSON to CSV Converter   100% client-side
Conversion uses vanilla JavaScript — no external library, no data upload.
JSON input
  CSV ready

      
How to convert JSON to CSV

Three steps — paste your JSON and download a clean CSV in seconds.

1
Paste or upload your JSON

Paste your JSON directly into the input area or upload a .json file. A live preview table shows the first rows with your column headers immediately — so you can verify the structure before converting.

2
Choose delimiter and options

Select comma (standard), semicolon (European Excel), tab (TSV) or pipe. Toggle dot-notation flattening for nested objects, include or exclude the header row, and enable UTF-8 BOM if you're opening the CSV in Microsoft Excel.

3
Download or copy the CSV

Click Convert and download the .csv file instantly — or copy the raw output to the clipboard. The file opens correctly in Excel, Google Sheets, LibreOffice, pandas and any other tool that reads CSV.

How does JSON to CSV conversion work?

What the converter does under the hood.

JSON and CSV represent data in fundamentally different ways. A JSON array of objects is the most common structure that maps cleanly to CSV — each object becomes a row, and the union of all object keys becomes the column headers. Missing keys in some objects result in empty cells.

Nested objects are the main challenge. A CSV is flat by definition — it has no concept of nesting. JSONshift solves this with dot-notation flattening: {"address":{"city":"Paris"}} becomes a column named address.city. This preserves the data relationship in a way that's readable and reversible.

Values that contain the delimiter character are automatically quoted following the RFC 4180 CSV standard. Values containing double quotes have those quotes escaped by doubling them. This ensures the output is valid CSV that any parser — including Excel, pandas and the standard library csv module in Python — will read correctly.

When do you need to convert JSON to CSV?

Common workflows where a flat CSV is more practical than JSON.

Spreadsheet analysis

API responses and database exports arrive as JSON. Converting to CSV lets you open the data directly in Excel or Google Sheets for pivot tables, charts and filtering — without writing a script or using a data pipeline.

pandas and data science

While pandas can read JSON with pd.read_json(), a flat CSV is simpler to load and inspect. Converting first gives you a clean, typed DataFrame with predictable column names — especially when the source JSON is deeply nested.

Database imports

Most databases and ETL tools accept CSV as a universal import format. Converting a JSON export to CSV allows direct import via COPY, LOAD DATA INFILE or a drag-and-drop import wizard — no custom script required.

Sharing with non-developers

JSON is unreadable to non-technical stakeholders. Converting to CSV produces a file that opens in any spreadsheet application — allowing product managers, analysts and executives to explore the data without any technical knowledge.

Conversion options explained

What each setting controls in the output CSV.

OptionValuesWhat it does
Delimiter Comma · Semicolon · Tab · Pipe Comma is the RFC 4180 standard and works with all CSV parsers. Use Semicolon if you're opening the file in Microsoft Excel on a European locale (where comma is the decimal separator). Tab produces a TSV file — useful for terminals and PostgreSQL COPY. Pipe is safe when data contains both commas and semicolons.
Nested objects Flatten · Keep as string Flatten recursively expands nested objects into additional columns using dot-notation — address.city, address.zip. Keep as string serializes the nested object back to a JSON string and places it in a single cell — useful when the receiving system expects a JSON blob in that column.
Header row Include · Exclude Include adds the column names as the first row — the standard for almost all use cases. Exclude produces data rows only — useful when appending to an existing CSV that already has a header, or when the receiving system provides its own schema.
Encoding UTF-8 BOM · UTF-8 UTF-8 BOM prepends a byte-order mark (EF BB BF) that signals Microsoft Excel to read the file as UTF-8 — preventing accented characters, CJK text and special symbols from appearing as garbled mojibake. UTF-8 (no BOM) is cleaner for programmatic use — Python, pandas and most Unix tools prefer files without a BOM.
Related JSON tools

Other free converters you might need next.

Popular searches
json to csv converter convert json to csv online json to csv free json format to csv nested json to csv json array to csv json to csv python convert json file to csv json to csv with headers json to csv flatten nested json to csv excel compatible api response to csv json to csv semicolon delimiter

JSON flattened in
your browser. No upload.

The entire conversion runs in JavaScript locally. Your JSON is parsed by your own browser — it is never transmitted to any server, never stored, and gone the moment you close the tab.

The output follows RFC 4180 — the CSV standard used by Excel, Google Sheets, pandas, PostgreSQL COPY and every other major CSV parser. Values containing the delimiter or quotes are handled correctly automatically.

RFC 4180 compliant output
Delimiter-containing values are quoted, embedded quotes are doubled. Works with every CSV parser out of the box.
Dot-notation flattening
Deeply nested objects become readable column names — address.city, user.profile.name — preserving the data structure.
Live preview
See the first rows of your CSV in a styled table before downloading — verify column structure instantly.
47 tools, always free
No row limits, no watermarks, no account. Funded by non-intrusive display advertising only.
Frequently asked questions
Common questions about converting JSON to CSV online.
How do I convert JSON to CSV?
Paste your JSON or upload a .json file into the converter above, choose your delimiter and flattening options, then click Convert. Download the .csv file instantly — the conversion runs entirely in your browser with no upload required.
How are nested JSON objects handled in the CSV?
JSONshift uses dot-notation flattening. A nested object like {"address":{"city":"Paris"}} becomes a column named address.city in the CSV. Arrays of primitives are joined with a pipe character by default. You can also choose to keep nested objects as raw JSON strings in a single cell.
Why does my CSV show garbled characters when I open it in Excel?
This is an Excel encoding issue. Enable the "UTF-8 BOM" option before converting — this adds a byte-order mark that tells Excel to read the file as UTF-8, preventing accented characters, CJK text and special symbols from appearing as mojibake.
What JSON structures does the converter support?
The converter supports: arrays of objects (most common — each object becomes a row), a single object (outputs one row), and deeply nested objects which are flattened with dot-notation. JSON arrays of arrays and primitive-only JSON are not meaningful as CSV output.
Is my JSON data safe when I use this converter?
Yes. The conversion runs entirely in your browser using JavaScript. Your JSON is never uploaded to any server. Open your browser's Network inspector while converting — you will see zero outbound data requests.
Which delimiter should I choose?
Use comma for the universal CSV standard. Use semicolon if you're opening the file in Excel on a European locale (where comma is the decimal separator). Use tab to produce a TSV file — ideal for PostgreSQL COPY and terminal tools. Use pipe when your data contains both commas and semicolons.
Go up