JSON to CSV Converter
Convert JSON data to CSV format with multiple input options. Paste JSON data, load from URL, or upload a file to convert to CSV.
Input JSON Data
Needed for Excel on Windows to show accents, symbols and non-Latin text correctly.
Prefixes cells starting with = + - @ (or a tab/CR) with a single quote so spreadsheets treat them as text. Plain numbers are left alone.
Conversion Results
Enter JSON data to convert
About JSON to CSV Converter
A powerful JSON to CSV converter that converts structured JSON data into tabular comma-separated values format. Nested objects and arrays are written as JSON text inside a single cell, so the structure stays recoverable in a flat, spreadsheet-compatible format. Integers beyond 2^53 are rounded by JSON parsing, and the tool tells you when that happens.
Why use a JSON to CSV Converter?
CSV format is universally supported by spreadsheet applications, databases, and data analysis tools. Converting JSON to CSV enables easy data import into Excel, Google Sheets, or statistical software while making API data accessible to non-technical users who prefer tabular formats.
Who is it for?
Essential for data analysts, business users, and developers who need to import API data into spreadsheets or databases. Perfect for converting complex JSON responses from REST APIs into formats suitable for data analysis, reporting, or legacy system integration.
How to use the tool
Input your JSON data through file upload, direct pasting, or URL import
Choose the delimiter you want in the CSV output
Every key becomes a column; columns are the union of keys across all rows
Check the CSV output; it updates automatically as the JSON changes
Download the CSV file or copy the data for use in spreadsheet applications
Frequently Asked Questions
How do I convert JSON to CSV online?
Paste JSON text, upload a .json file, or load from a URL. The converter expects a JSON array of objects (the most common API response shape) or a single object; each object becomes one row, each key becomes a column header (columns are the union of keys across all rows, and a missing key gives an empty cell). The output is RFC 4180-style CSV: the first row carries headers, every field is wrapped in double quotes (with inner quotes doubled) and lines end with CRLF. Copy or download as .csv. Conversion runs entirely in your browser — your data never leaves the device. Google Sheets and most CSV-aware tools open the result directly; for Excel on Windows, tick "Add UTF-8 BOM (for Excel)" or non-ASCII text (accents, symbols, non-Latin scripts) will display incorrectly. Tick "Neutralise spreadsheet formulas" if the data is untrusted: cells starting with = + - @ can otherwise be run as formulas when opened.
Does converting JSON to CSV preserve the data structure?
Lossy in one direction: CSV is flat, so nested objects and arrays are not split into columns. They are written as JSON text in one cell: {user: {name: 'Joe'}} → column 'user' with the cell value {"name":"Joe"}. You can parse the cell back to JSON later. Not everything survives: integers beyond 2^53 (such as 9007199254740993) are rounded when the JSON is parsed and the tool shows a note when that happens, and numbers are written as plain text, so the destination spreadsheet decides how to interpret them.
Can I upload a JSON file or load it from a URL?
Yes — all three input methods: paste JSON text, upload a local .json file, or fetch from a public URL. URL fetching requires the source to send CORS headers permitting cross-origin requests; private endpoints work only if reachable from your browser. Files up to several MB convert quickly. The JSON input must be valid (parseable) — if you're not sure, validate with the [JSON Validator](/tools/json-validator/) first.
Is my JSON data sent to a server when I convert?
No. Conversion runs entirely in your browser via JavaScript — your JSON data never leaves your device, never reaches a server, never gets logged. Verify in DevTools' Network tab: converting produces zero HTTP requests. The exception is URL loading, where your browser fetches the source from the URL you provided (the URL host sees that request, but no Toolsana server is involved). Safe for sensitive customer data, financial records, or API responses you don't want logged.
How are nested arrays and objects flattened?
They are not flattened into separate columns. A nested value stays as JSON text inside one cell: {tags: ['a', 'b']} gives a 'tags' column containing ["a","b"], and {user: {address: {city: 'NYC'}}} gives a 'user' column containing the whole nested object as JSON. This is useful for round-tripping, because you can parse the cell back to JSON. If you need one column per nested field, reshape the JSON before converting. Rows that lack a key get an empty cell in that column.
Exporting API response data to Excel or Google Sheets?
The canonical use case. Workflow: copy an API response from Postman, browser DevTools, or curl output; paste into this converter; download the CSV; open in Excel/Sheets. The CSV is RFC 4180-compliant, so it imports cleanly. For repeated workflows (a daily report), automate the conversion in a script. For ad-hoc inspection of a single API response, the manual tool is faster. For the reverse direction (spreadsheet → JSON for API import), use [CSV to JSON](/tools/csv-to-json/).
How much data can I convert at once?
Browser memory is the limit. Up to ~10 MB JSON / 100k objects converts in under a second. The CSV output is typically smaller than JSON (no key repetition, no braces) — often half the size. Past 50 MB input, the browser may slow or run out of memory. For very large API exports, split the file into smaller pieces. This tool fits the common API-response case where you have a few KB to a few MB to inspect or share.
Why convert JSON to CSV instead of using JSON directly?
Audience. JSON is for code; CSV is for humans with spreadsheets. When the downstream consumer is a business stakeholder, analyst, or non-technical user, CSV opens in Excel/Sheets without any code. Pivot tables, sorting, filtering, charts — all the spreadsheet primitives work on CSV. The trade-off is that nested structure ends up as JSON text in a cell. For data destined for a JavaScript app or another API, keep it as JSON. For data destined for a human, convert to CSV — even if it means designing a flat shape ahead of time.
Share This Tool
Found this tool helpful? Share it with others who might benefit from it!
💡 Help others discover useful tools! Sharing helps us keep these tools free and accessible to everyone.