Just Formatter

Free JSON to CSV Converter Online

Convert JSON arrays and objects to CSV format instantly — no signup, no install, nothing uploaded.

JSON to CSV Converter

Paste JSON input and convert instantly in your browser.

JSON Input

CSV Output

How to Convert JSON to CSV — 3 Steps

  1. 1
    Paste or upload your JSON. Type or paste a JSON array into the input field, or click Upload to load a .json file from your device. The converter accepts any valid JSON array of objects.
  2. 2
    Click Convert. The converter flattens nested objects and arrays into a tabular structure and generates the CSV output instantly in your browser — no server round-trip.
  3. 3
    Download or copy the CSV. Click Download CSV to save the file, or copy the output directly. Open the .csv file in Microsoft Excel, Google Sheets, or any spreadsheet application.

What is JSON to CSV Conversion?

JSON (JavaScript Object Notation) is a hierarchical, tree-structured data format. Objects can contain nested objects, arrays can hold other arrays, and a single JSON document can represent deeply layered data. This makes JSON ideal for APIs and configuration, but difficult to work with in spreadsheets and data analysis tools that expect flat rows and columns.

CSV (Comma-Separated Values) is a two-dimensional format: rows of data separated by newlines, with each row's fields separated by commas. There is no concept of nesting. Every tool from Microsoft Excel to Tableau to Python's pandas library can read CSV natively, making it the universal interchange format for tabular data.

JSON to CSV conversion is the process of flattening a JSON structure into a table. A simple JSON array of flat objects maps directly to rows and columns. Nested objects require a flattening strategy — the most common is dot notation, where { user: { name: 'Alice' } } becomes a column named user.name. Arrays within objects require an additional decision: join primitives as a single cell, or expand objects into multiple indexed columns.

How the Converter Handles Nested JSON

The converter applies a consistent set of rules to turn any valid JSON array into a flat CSV table:

  • Nested objects are expanded using dot notation. A field address.city in the object { address: { city: 'NYC', zip: '10001' } } produces two columns: address.city and address.zip.
  • Arrays of primitives (strings, numbers) are joined into a single cell with a semicolon delimiter. The array tags: ['api', 'json', 'debug'] becomes the cell value api;json;debug.
  • Arrays of objects are flattened with index notation. items[0].name, items[1].name, and so on become separate columns.
  • Null values become empty CSV cells — not the string null.
  • Missing fields across rows produce empty cells. Headers are collected from all records, so every possible column appears even if not every row has a value for it.

Values containing commas, double quotes, or newlines are automatically wrapped in double quotes per the RFC 4180 CSV standard. Double quotes within values are escaped by doubling them.

JSON Input

[
  {
    "id": 1,
    "name": "Alice",
    "address": {
      "city": "New York",
      "zip": "10001"
    },
    "tags": ["admin", "user"]
  },
  {
    "id": 2,
    "name": "Bob",
    "address": {
      "city": "Austin",
      "zip": "73301"
    },
    "tags": ["user"]
  }
]

CSV Output

id,name,address.city,address.zip,tags
1,Alice,New York,10001,admin;user
2,Bob,Austin,73301,user

When Developers Convert JSON to CSV

JSON to CSV conversion appears across a wide range of developer and data workflows. Understanding the common scenarios helps you choose the right flattening strategy for your data:

API response analysis

Export a REST API response to a spreadsheet for stakeholder review, data validation, or pattern analysis without writing a custom script.

Database export workflows

Many databases export query results as JSON. Converting to CSV lets you import into Excel, Tableau, Power BI, or Google Sheets directly.

QA test data comparison

Flatten expected and actual API responses to CSV and use spreadsheet diffing to spot missing fields, type mismatches, and value changes.

Data pipeline handoffs

CSV is the lowest-common-denominator format for moving data between tools. Python, R, Spark, and every ETL platform reads CSV without configuration.

Log analysis

Structured JSON logs from services like Datadog or CloudWatch can be exported and analyzed as pivot tables after converting to CSV.

Reporting and dashboards

Non-technical stakeholders expect spreadsheets. Converting API data to CSV is the fastest path from code to a shareable report.

CSV Format: What Your Spreadsheet Expects

CSV is a simple format but has several subtleties that cause problems when opening files in spreadsheet tools. Understanding these helps you avoid common gotchas:

UTF-8 encoding. All modern CSV files should use UTF-8. If your JSON contains non-ASCII characters (accented letters, CJK characters, emoji), ensure the output is saved as UTF-8. Excel on Windows sometimes misreads UTF-8 without a BOM — the converter outputs UTF-8 which works correctly in Google Sheets and modern Excel.
Header row. The first row of the CSV contains column names derived from the JSON keys. All downstream tools (Excel, Python pandas, SQL COPY commands) expect this header row and use it to name columns.
Quoting rules. Per RFC 4180, fields containing commas, double quotes, or newline characters must be wrapped in double quotes. Double quotes within a field are represented as two consecutive double quotes ("He said ""hello"""). The converter handles this automatically.
Delimiter. Standard CSV uses commas. Some European locales in Excel default to semicolons. If you open the file and all data appears in one column, use Excel's Data → From Text/CSV import wizard and choose the correct delimiter.
Numeric strings. Values like phone numbers (0123456789) or ZIP codes (07302) that start with 0 will have the leading zero stripped if Excel auto-converts them to numbers. Format those columns as Text in Excel to preserve leading zeros.

Limitations and Edge Cases to Know

Browser-based JSON to CSV conversion covers the majority of real-world use cases, but some data structures require extra consideration:

  • Non-uniform arrays. If different records have different sets of keys, the converter collects all unique keys and produces empty cells for missing fields. The resulting CSV is valid but may have many sparse columns.
  • Deeply nested arrays of objects. Records with arrays-of-objects at multiple levels produce a large number of indexed columns (orders[0].items[0].sku). Consider pre-processing your JSON to flatten or select specific fields before converting.
  • Top-level object instead of array. The converter expects a top-level JSON array. If your JSON is a single object, wrap it in array brackets: [{ ... }].
  • Very large files. Converting files over 50 MB in the browser may be slow depending on your device. For bulk data processing, consider scripting with Node.js or Python's pandas library.
  • Boolean and null values. Booleans become the strings true and false. Null values become empty cells. Both are correct CSV representations.

Frequently Asked Questions

How do I convert JSON to CSV online for free?

Paste your JSON array into the input box above and click Convert. The CSV output appears immediately and can be downloaded as a .csv file — no account or signup needed.

Does this converter support nested JSON objects?

Yes. Nested objects are flattened using dot notation (e.g., user.address.city becomes a single column). Arrays of primitives are joined with semicolons. Arrays of objects produce indexed columns like items[0].name.

My JSON has arrays of objects — will each item become a row?

Yes. The converter expects a top-level JSON array where each element maps to one CSV row. If your JSON is a single object wrapping an array, extract the array first.

Is my data sent to a server during conversion?

No. All conversion runs in your browser using JavaScript. Your JSON data never leaves your device and is not stored anywhere.

Why does my CSV look wrong in Excel?

Excel on Windows uses semicolons as the delimiter in some locales, and expects a UTF-8 BOM for non-ASCII characters. If your CSV looks garbled, try importing it via Data → From Text/CSV in Excel and specify UTF-8 encoding manually.

What is the maximum file size for JSON to CSV conversion?

There is no hard server limit since all processing runs in your browser. Performance depends on your device. Files up to 10 MB convert without issues on modern hardware.

From the Blog

More Free Converter Tools