ASG ToolsPowered by ASG Groups
Developer Utilities

JSON to CSV Converter

The problem: API responses and log exports arrive as nested JSON, but spreadsheets, BI tools and non-technical teammates need flat CSV rows.

ASG Privacy VerifiedVerified

100% In-Browser Execution. Zero server uploads. Your data never leaves this tab — disconnect your internet and the tool keeps working.

JSON to CSV Converter: the complete guide

A JSON to CSV converter transforms structured JSON data — the format APIs, databases and logging systems emit — into comma-separated values that spreadsheets, BI dashboards and non-technical teammates can actually open. The mismatch is universal: your analytics endpoint returns an array of user objects, but your finance team lives in Excel; your e-commerce export is deeply nested, but your accounting software imports flat rows. This tool bridges that gap in a single paste-and-click. Unlike typical online converters, it runs entirely inside your browser using the native JSON parser, so sensitive exports never touch a server. It automatically flattens nested objects into dot-notation columns (user.id, user.name), unions all keys across rows in first-seen order, escapes delimiter collisions and newlines with proper quoting, and supports comma, semicolon, tab and pipe delimiters for international spreadsheet locales. Whether you are building a quick report, migrating data between systems, or preparing a CSV import for another tool, conversion happens locally in milliseconds.

Automatic flattening of nested JSON

Real-world JSON is rarely flat. A single order object might contain a nested customer, an array of line items, and shipping metadata buried three levels deep. Standard converters either choke on this structure or dump '[object Object]' into your cells — both useless. This converter recursively flattens nested objects using dot notation, turning user.address.city into a proper column named exactly that, so the hierarchical structure stays legible in the header row. Arrays are preserved as JSON strings inside the cell, correctly quoted so downstream tools can re-parse them when needed. Flattening is depth-limited to ten levels to protect against pathological recursive data, and you can switch it off entirely if your target system prefers JSON-encoded cells for anything non-primitive. The result is output that imports cleanly into Excel, Google Sheets, Airtable, Notion and virtually every CSV importer on the market.

Delimiter handling for international spreadsheets

Not every CSV is comma-separated. European Excel locales expect semicolons because the comma is their decimal separator; some legacy systems require TSV; certain Unix pipelines prefer pipes. This tool offers all four delimiters behind a single selector, and — critically — applies RFC 4180 escaping rules to whichever one is active. Any cell containing the active delimiter, a double quote, or a line break is wrapped in double quotes, and internal quotes are doubled, which is exactly the behavior Excel and Google Sheets expect when re-importing. That attention to escaping is what separates a converter that produces broken spreadsheets from one that produces reliable round-trips. The header row is escaped with the same rules, so column names containing commas or quotes survive intact. After conversion you can copy the output to the clipboard or download it as a properly named .csv or .tsv file.

Key unioning and column order stability

JSON arrays frequently contain heterogeneous rows — the first record might have a 'discount' field the others lack, or API responses may add fields over time. Naive converters take the columns from the first row and silently drop data from the rest. This tool unions the keys of every row in first-seen order, so the column set is complete no matter how inconsistent the input is, and rows missing a value simply get an empty cell. Order stability matters too: because keys appear in the order they were first encountered, your spreadsheet columns land in a predictable, human-friendly sequence instead of alphabetical chaos. Null values become empty cells rather than the string 'null', booleans become true/false, and numbers pass through untouched so Excel recognizes them as numeric. These small correctness details are why converted files open cleanly instead of needing manual repair.

Zero-server conversion with graceful error reporting

The entire pipeline — parse, flatten, escape, serialize — executes in your browser tab using the same JSON.parse engine your DevTools console uses. Open the Network tab and watch: after the page loads, no request carries your data. That makes the tool safe for customer exports, unreleased product data, and anything covered by a data-processing agreement. Error handling is designed for real inputs: malformed JSON returns the precise parser message and character position rather than a silent failure; non-object array elements are called out by index so you can fix the exact record; and empty arrays produce a clear explanation instead of a mysterious blank file. The tool never freezes on large inputs thanks to streaming-friendly serialization, and typical batches of a few thousand rows convert in well under a second on any modern laptop.

Step by step: how to use JSON → CSV

  1. 1

    Copy your JSON — from an API response in DevTools, a database export, or a config file. A JSON array of objects works best.

  2. 2

    Paste it into the input area. The tool accepts arrays, single objects, and common wrapper shapes like {"data": [...]}.

  3. 3

    Choose your delimiter: comma for standard CSV, semicolon for European Excel, tab for TSV, or pipe for custom pipelines.

  4. 4

    Toggle 'Flatten nested objects' if your JSON is hierarchical and you want dot-notation columns (recommended for most spreadsheets).

  5. 5

    Click Convert. The output panel shows row and column counts so you can immediately verify the shape.

  6. 6

    Copy the result to your clipboard, or download it as a .csv/.tsv file with correct encoding for Excel and Sheets.

Security & privacy

Your JSON is parsed, flattened and serialized 100% inside this browser tab using native JavaScript — there is no upload endpoint, no telemetry, and no server-side logging of any kind. Once the page is loaded you can disconnect from the internet and the converter keeps working, which is the strongest possible proof that your data never leaves the device. The clipboard copy uses the standard Clipboard API and nothing else reads your data. If you are converting customer records, financial exports or any confidential payload, this is the privacy guarantee you need: the bytes simply never exist anywhere but your machine.

Frequently asked questions