JSON to CSV converter: automatic columns for spreadsheets and BI

Use this free JSON to CSV converter when you need a fast, repeatable way to turn JSON arrays of objects into a flat file for Excel, Google Sheets, and BI tools. Headers are inferred automatically from every key we see across rows, values are RFC 4180 escaped, and you can choose a comma or semicolon delimiter plus an optional UTF-8 BOM for Excel. Everything runs in your browser: ideal for API samples, staging exports, and ad-hoc reporting without installing desktop software.

Paste JSON array

Objects become rows; keys become columns. Wrapper objects with data/items/ similar arrays are detected automatically.

Why convert JSON to CSV?

JSON is the lingua franca of modern APIs and document stores: nested, flexible, and easy for programs to consume. CSV remains the default interchange format for business users, finance models, and quick visual analysis. A JSON to CSV conversion bridges those worlds so engineering can keep emitting structured payloads while marketing, ops, and analysts open the same data in a spreadsheet. When you later need the opposite direction, our CSV to JSON converter parses delimited text back into JSON with header-aware structure.

JSON shapes this tool handles

The most common pattern is a top-level array of objects, where each object is one row. If your API wraps the array (for example { "data": [ ... ] }, or properties named items, results, and similar), we unwrap it automatically. Primitive arrays become a single value column. Nested objects and arrays stringify into the cell as JSON so you never silently drop nested data; flatten further in your sheet or pipeline if you need one column per leaf field.

How to use this JSON to CSV converter (step by step)

  1. Validate or format JSON if the payload is messy. When you need pretty-printing and tree view, use the JSON formatter and validator first, then paste the cleaned array here.
  2. Paste JSON into the text area, or click Load sample to see mixed types, nested fields, and tags in action.
  3. Choose delimiter (comma for most US pipelines; semicolon when Excel in your locale expects list separators other than commas) and decide whether to include a UTF-8 BOM for Excel on Windows.
  4. Click Convert to CSV, review the preview, then Copy CSV or Download .csv. Import into Sheets, Power BI, Tableau, or your ETL tool.

Automatic column detection and ordering

Headers are built by scanning objects in array order. The first time a key appears, it claims its column position; new keys discovered on later rows extend the table to the right. Empty cells mean that row simply did not include that property, which is standard for sparse API responses. This approach matches how many teams expect a JSON export to CSV to behave without hand-maintaining schemas.

Escaping, delimiters, and Excel compatibility

Fields that contain quotes, line breaks, or the active delimiter are wrapped in double quotes, with internal quotes doubled, matching common RFC 4180 expectations. The optional BOM prefixes the file so Excel often interprets the encoding as UTF-8, which matters for international product names and currency symbols. If you are automating imports in code, you may prefer BOM off and explicit UTF-8 handling in your parser instead.

When to use YAML or keep JSON

CSV is not a substitute for hierarchical config. If you are editing Kubernetes or CI configs, a dedicated JSON to YAML converter or YAML to JSON converter preserves structure more readably than flattening to columns. Use JSON to CSV when the destination is truly tabular: leads, orders, events, or feature rows.

Related free developer tools

Explore the full code and developer tools catalog on the home page, or jump to a focused utility below.

  • JSON Formatter & ValidatorFormat, validate, minify, and explore JSON in a collapsible tree—fix payloads before they hit production.
  • JSON to YAML ConverterConvert JSON to readable YAML for configs and Kubernetes—copy or download the result.
  • CSV to JSON ConverterPaste or upload CSV and get structured JSON with header-aware typing for APIs and apps.
  • YAML to JSON ConverterParse YAML to valid JSON with clear errors—ideal for CI configs and cloud templates.
  • XML Formatter & ValidatorBeautify and validate XML with structure insight and actionable parse errors.
  • Regex Tester & DebuggerTest patterns live with highlights, capture groups, and flags—debug regex without leaving the browser.
  • SQL FormatterPretty-print SQL with indentation and keyword casing for readable queries and code review.
  • HTML Formatter & MinifierBeautify or minify HTML and compare raw markup with a quick rendered preview.
  • CSS Formatter & MinifierFormat messy stylesheets or minify CSS for faster loads—keep design tokens consistent.
  • JavaScript Formatter & MinifierPretty-print or minify JavaScript for debugging locally and shipping smaller bundles.
  • HTML to Markdown ConverterConvert HTML snippets to Markdown for docs, CMS migrations, and README cleanup.
  • Markdown to HTML ConverterTurn Markdown into HTML with a live preview—handy for emails, blogs, and static pages.
  • Code Diff CheckerCompare two code blocks side by side with clear add/remove highlighting for reviews.
  • JWT DecoderDecode JWT header and payload and check expiry—signature verification not included, client-side safe.

Frequently asked questions

What JSON shape does this JSON to CSV converter expect?
The tool works best with a JSON array of objects, where each object becomes one spreadsheet row and keys become column headers—for example [{"id":1,"name":"Ada"},{"id":2,"name":"Bob"}]. You can also paste an object that wraps an array under common property names such as data, items, results, records, or rows. Primitive arrays are converted into a single column named value.
How does automatic column detection work?
We scan every object in order and build a header list from every key we see, preserving the order keys first appear. If later rows introduce new keys, those columns are appended. Missing keys in a row are left empty in the CSV so columns stay aligned.
Are nested objects and arrays supported in cells?
Yes. Nested objects and arrays are serialized to a JSON string inside the cell so you do not lose information. For deeply nested analytics exports, consider flattening upstream or post-processing in Excel, Google Sheets, or a notebook if you need separate columns per nested field.
Is my JSON uploaded to a server?
No. Parsing and CSV generation run entirely in your browser. Nothing is sent to our backend for this converter, which makes it suitable for sample production payloads as long as you still follow your own security and data-handling policies.
Why add a UTF-8 BOM when I download?
Microsoft Excel on Windows often mis-detects UTF-8 CSV files without a byte order mark, which can garble accents and symbols. The optional BOM helps Excel open the file as UTF-8. You can turn it off if your toolchain prefers raw UTF-8.
Comma or semicolon delimiter—which should I use?
Comma is standard RFC 4180 CSV and works well in most US/UK tools and code. Semicolon is common in European locales where Excel expects list separators that are not the decimal separator. Pick the delimiter that matches your spreadsheet locale.
How is this different from your CSV to JSON tool?
JSON to CSV flattens structured JSON into a tabular file for spreadsheets and BI tools. CSV to JSON goes the other way: it parses delimiter-separated text into JSON structures. Many teams use both when moving data between APIs, logs, and Excel.
Can I convert huge JSON files?
Very large pastes can slow down or freeze the tab because everything runs in the browser. For multi-gigabyte exports, prefer a streaming CLI tool or ETL pipeline. This page is ideal for configs, API samples, and moderate-sized extracts.