The 60-second path: file in, spreadsheet out
If you landed here from a search that read "how can I convert a JSON file to a CSV file online", you probably have a file sitting in your Downloads folder right now and a spreadsheet you need to fill. Here is the whole job, start to finish, with nothing installed:
One: open the converter in your browser. Two: click the upload button and pick your .json file — or open the file in a text editor, copy everything, and paste it into the input box. Three: press Convert. Four: download the CSV and open it in Excel or Google Sheets. That is the entire procedure. The conversion itself takes milliseconds; the minute is you clicking.
Everything after this section is about the four small decisions hidden inside step three — upload versus paste, flattening, the delimiter, the header row — plus the four things that can make a perfect CSV look broken in Excel. If your conversion works first try, you can stop reading here. If anything looks off, the fixes below are the ones that actually work, each verified against the real converter.
Decision 1: upload the file, or paste its contents?
An online JSON to CSV converter gives you two ways to feed it your data, and picking the right one avoids the most common first-timer frustration. The upload button on this site accepts .json and .txt files — click it, pick the file, done. Pasting means opening the JSON in a text editor, selecting all, copying, and dropping it into the converter's input box.
Upload when the file is large or when you have several files to convert: it is one click per file and there is no clipboard involved. Paste when you only have a fragment — a response you copied from a browser dev-tools panel, an API response you grabbed from documentation, a snippet someone sent you in chat. Both paths feed the same engine, so the CSV comes out identical either way.
One practical warning about pasting: browsers and chat apps sometimes mangle long pastes. If you paste several megabytes of JSON and the converter complains about invalid syntax, do not debug the data — just upload the file instead. Nine times out of ten the "error" was the clipboard, not your JSON.
Decision 2: flatten the nested data, or leave it as-is?
This is the decision that changes what your spreadsheet actually looks like, so it deserves a concrete example. We will use this orders.json file for the rest of the guide — two orders, nested customer objects, a list of items:
[
{ "id": 1, "customer": { "name": "Ana", "city": "Madrid" }, "items": ["book", "pen"], "total": 19.99 },
{ "id": 2, "customer": { "name": "Ken", "city": "Osaka" }, "items": ["lamp"], "total": 42.5 }
]With flattening ON — the default, and the right choice for most people — the converter turns nested objects into dot-notation columns and lists into single cells. We ran this exact file through the real engine to show you the byte-for-byte output:
Flattening on: the spreadsheet-friendly result
Here is what the engine produced with flattening on — this is the output you will actually download:
id,customer.name,customer.city,items,total
1,Ana,Madrid,book; pen,19.99
2,Ken,Osaka,lamp,42.5Every level of nesting becomes a column you can sort and filter: customer.name, customer.city. A list of plain values becomes one cell with the values joined by "; ". This is the spreadsheet-friendly shape, and it is what you want when the goal is analysis — pivot tables, filters, charts.
Two details worth knowing because they surprise people: the joined list uses "; " (semicolon-space), so if you later pick a semicolon delimiter, that cell gets quoted to protect it — the engine handles it automatically. And an empty value simply becomes an empty cell, while an empty list becomes [].
Flattening off: the honest-but-ugly result
Same file, flattening off. Each top-level key keeps its own column, and the nested structures are stuffed in as quoted JSON text:
id,customer,items,total
1,"{""name"":""Ana"",""city"":""Madrid""}","[""book"",""pen""]",19.99
2,"{""name"":""Ken"",""city"":""Osaka""}","[""lamp""]",42.5That looks worse, and for analysis it is worse — but it is the honest representation, and it is what you want when you need to preserve the exact nested structure, for example before feeding rows back into a system that expects JSON-shaped fields.
Rule of thumb: leave flattening on unless you have a specific reason to turn it off. Most people asking how to convert a JSON file to a CSV file online want the spreadsheet-friendly version.
Decision 3: comma or semicolon? (the Excel locale trap)
The converter's delimiter dropdown offers comma, semicolon, tab, and pipe. For most readers the real choice is comma versus semicolon, and the correct answer depends on your Excel, not your data.
Here is the trap: in the US, UK, and much of Asia, Excel expects comma-separated values, so the default comma file opens perfectly. But in much of continental Europe and Latin America, Excel expects semicolons — because those locales use the comma as the decimal separator, so their CSV files are "really" SSV files. Open a comma-delimited CSV in a German Excel and everything lands in column A.
The fix is a one-click decision before you download, not a problem to solve afterward: if your Excel puts everything in one column, regenerate the CSV with a semicolon. We verified that path through the real engine — same orders file, semicolon delimiter, flattening on:
id;customer.name;customer.city;items;total
1;Ana;Madrid;"book; pen";19.99
2;Ken;Osaka;lamp;42.5Notice the quotes around "book; pen" — the engine quotes any cell containing the delimiter, so nothing breaks. Tab is the quiet third option: almost nothing conflicts with tabs, so pick tab when your data contains both commas and semicolons (street addresses plus European decimals in the same file). Pipe is there for the rare file that contains all three.
Decision 4: header row on or off?
The headers toggle is checked by default, and you should leave it checked in almost every case. The header row is what turns a grid of values into a usable spreadsheet — it is how you sort by customer.city instead of by "column C", and it is what every downstream tool expects.
Turn headers off in exactly one situation: when you are appending rows to an existing spreadsheet that already has its own header row. Pasting headerless rows under an existing header is the only common case where a second header row would corrupt the sheet. Everywhere else, keep the headers.
When the CSV looks wrong in Excel: the 4 fixes that actually work
A perfect CSV can still look broken the moment Excel opens it, because Excel guesses at things instead of asking. These are the four failures we see, in order of frequency, with the fix for each:
- Garbled or accented characters (café becomes café). This is an encoding mismatch, not broken data. The converter outputs plain UTF-8 with no BOM, and Excel sometimes guesses the wrong encoding when you double-click the file. Fix: in Excel use Data > From Text/CSV, pick the file, and set File Origin to 65001 (UTF-8) explicitly. Google Sheets handles UTF-8 correctly on import, so this is mostly an Excel problem.
- Everything in one column. Your Excel expects a different delimiter than the file uses — see Decision 3. Regenerate with a semicolon, or import via Data > From Text/CSV and tell Excel which delimiter the file uses.
- Leading zeros vanish (007 becomes 7, ZIP codes lose their zero). Excel sees digits and converts the cell to a number. Fix: import via Data > From Text/CSV and set those columns to Text type during the import wizard — do this at import time, because the zeros are unrecoverable after Excel has already eaten them.
- Dates reformat themselves (2026-10-12 becomes 10/12/2026, or worse, a serial number). Same root cause: Excel auto-detects date-like text. Fix: mark date columns as Text during the Data > From Text/CSV import, then format them as dates yourself once the data is safely inside the sheet.
Notice the pattern: three of the four fixes happen at import time, not in the converter. The converter's job is to produce a correct CSV; Excel's import wizard is where you tell Excel how to read it. Double-clicking a CSV is convenient and wrong — the 20 seconds the import wizard takes is the cheapest insurance in this whole guide.
Is it safe? Your JSON file never leaves your browser
The question behind "how can I convert a JSON file to a CSV file online" is often really "can I trust a random website with this file?" — especially when the file holds customer data, financial exports, or anything with names in it. The honest answer depends on the tool's architecture, not its promises.
This site's converter is client-side: the conversion runs in JavaScript inside your browser tab. Your file is read locally, converted locally, and downloaded locally — nothing is uploaded to any server, because there is no server step in the pipeline. You can verify this yourself in about 30 seconds: open the converter, disconnect your network (airplane mode works), and convert a file. The CSV still downloads. A tool that needed your data on its server could not do that.
That said, stay honest about the limits: client-side means the file does live in your browser's memory during conversion, on a machine you control. Do not convert files on a borrowed or public computer you do not trust, and if your data is regulated (health records, financial PII under a compliance regime), check your organization's policy before using any web tool — the architecture is safe, but your policy may still say no.
When the online path is the wrong answer
An online converter is the right tool for one-off conversions of small to medium files with nothing installed. It is the wrong tool in three situations, and saying so is part of an honest guide:
- Huge files. A browser tab is comfortable up to a few megabytes and gets sluggish past tens of megabytes. For hundreds of megabytes, use jq or a short Python script locally — they stream the file instead of holding it all in memory.
- Conversions you repeat daily. If you convert the same export every morning, a saved script or a jq one-liner turns a daily minute into a daily zero seconds. The online tool is for the irregular job; the script is for the routine.
- Hand-picked, renamed, reordered columns. The converter gives you every key as a column, in the file's key order. If you need three specific columns renamed and reordered, explicit projection in jq or pandas beats clicking through a UI every time.
For the full comparison of all six approaches — online converter, Excel Power Query, Python/pandas, jq, VS Code, Google Sheets — with each one actually tested, see our tool comparison guide. For the fastest possible path regardless of method, see the under-a-minute guide.
Related guides
- How to Convert JSON to CSV: 3 Reliable Methods (2026 Guide)
- What Is a JSON to CSV Converter Online Tool? How to Pick a Good One (2026 Guide)
- How to Turn JSON into CSV in Under a Minute: The Fastest Way for Every Situation (2026 Guide)
- How to Flatten JSON to CSV: What the Toggle Actually Does (2026 Guide)
- How to Make CSV from JSON: 7 Decisions That Turn Raw Data into a Working File (2026 Guide)
- How Do I Convert JSON to CSV in VS Code? 4 Ways, From Click to One Keypress (2026 Guide)
- How to Flatten the JSON Data: Explode, Join, or Leave It Nested (2026 Guide)
- Is There a Way to Convert JSON to CSV? Yes — 5 Ways, Pick by Your Situation (2026 Guide)
- How to JSON to CSV Online: Do It in This Tab in 30 Seconds (2026 Guide)
- JSON to CSV Converter Download: What You Should Actually Download (2026 Guide)
- Convert Large JSON to CSV Online Free: How Big Is Too Big? (2026 Guide)
- What Is a JSON and CSV File? A Beginner's Guide to Both Formats (2026 Guide)
- What Does Flattening a JSON Mean? The Term Explained (2026 Guide)
- What Is JSON to CSV Online? The 3 Words Explained (2026 Guide)
- What Is JSON to CSV Converter Online? Anatomy of the Tool (2026 Guide)
- Convert JSON to CSV Locally: Keep the File on Your Machine (2026 Guide)
- What Are Ways to Convert JSON to CSV Locally? 6 Methods, Compared (2026 Guide)
- Why Your CSV Opens in One Column in Excel, and How to Fix It (2026 Guide)
- Why Your CSV Shows Weird Characters in Excel, and How to Fix the Encoding (2026 Guide)
- Why Excel Drops the Leading Zeros From Your CSV Codes, and How to Keep Them (2026 Guide)
- Why Excel Changes Your CSV Dates, and How to Keep Them (2026 Guide)
- Why Saving Your CSV in Excel Changes It, and How to Keep the Original Safe (2026 Guide)
- Why Excel Won't Open Your Big CSV File, and What to Do Instead (2026 Guide)
Frequently asked questions
How can I convert a JSON file to a CSV file online for free?
Open a free online JSON to CSV converter, upload your .json file (or paste its contents), leave flattening on, pick the delimiter your spreadsheet expects, and download the CSV. The whole thing takes under a minute and needs no account — this site's converter is free with no sign-up.
Do I need to install anything to convert a JSON file to CSV online?
No. An online converter runs in your browser — that is the entire point. Upload or paste your JSON, convert, download the CSV. Installing Python, jq, or Excel plugins only makes sense for huge files or daily-repeat conversions.
What is the difference between uploading a JSON file and pasting JSON text?
Nothing in the output — both feed the same engine. Upload is better for large files or converting several files in a row; pasting is better for fragments you copied from dev tools, API docs, or chat. If a huge paste throws a syntax error, upload the file instead — the clipboard probably mangled it.
Why does my converted CSV show everything in one column in Excel?
Your Excel expects a different delimiter than the file uses — most commonly, a European or Latin American Excel expecting semicolons opening a comma-delimited file. Regenerate the CSV with a semicolon delimiter, or import via Data > From Text/CSV and tell Excel which delimiter the file uses.
How do I convert a JSON file to CSV without losing nested data?
Leave the flattening option on. It turns nested objects into dot-notation columns (customer.name, customer.city) and lists of plain values into single cells joined with "; " — verified against the real converter. Turning flattening off stuffs nested structures into quoted cells as raw JSON text.
Is it safe to upload a JSON file with personal data to an online converter?
It depends on the tool's architecture. On this site the converter is client-side — the file never leaves your browser tab, which you can verify by converting with the network disconnected. Server-upload tools send your file to their infrastructure, so check which kind a tool is before pasting sensitive data.
Can I convert a JSON file to CSV on my phone?
Yes — the converter is a web page, so it works in a mobile browser. Upload the file from your phone's storage (or paste the JSON), convert, and download the CSV. For large files or precise delimiter work, a desktop browser is more comfortable, but the conversion itself works the same.
Have the file ready? Convert it now — nothing to install
Upload your .json file or paste its contents, pick your delimiter, and download the CSV. Client-side conversion: your file never leaves your browser. Free, no sign-up.
Open the JSON to CSV converter