JSON to CSV Converter

    Convert JSON arrays or single JSON objects into CSV in your browser. Paste JSON, load the sample, format valid input, upload or drop a file, choose comma, semicolon, or tab output, optionally flatten nested objects, preview the first rows, then copy or download `converted.csv`.

    JSON Data
    Drop JSON File Here
    CSV Result Output
    Data Preview 0 rows
    Output Size: 0 B CSV Document: 0 lines
    CSV Layout Options
    JSON to CSV Converter Guide
    1. Paste JSON Arrays
    Paste your formatted array or singular objects into the left workspace.
    2. Delimiter Control
    Choose your column separation dividers (commas, semicolons, or tabs) and quote encapsulations.
    3. Real-time Preview
    Instantly verify details through the live interactive table dashboard, and click Copy or Download.

    Convert JSON data into spreadsheet-ready CSV

    The JSON to CSV Converter turns valid JSON into a text table that can be opened in spreadsheet software, imported into databases, or reviewed in a plain-text editor. It accepts pasted JSON as well as local files selected through the upload control or dropped onto the input area. The visible converter runs the parsing and CSV generation in the browser, then shows the CSV output, a small table preview, output size, and line count.

    This page is most useful when you already have structured JSON from an API response, export, test fixture, configuration file, or copied developer tool output and need a quick spreadsheet-friendly view. It is not a database migration system or a streaming data pipeline. The tool expects valid JSON, builds a header row from the keys it sees, and writes one CSV row for each object in the input.

    Verified behavior

    Digital Domain Kit reviewed this tool on September 15, 2026 against the production implementation. The active interface includes a JSON input editor, Sample, Format, Clear, Upload JSON File, Convert, CSV delimiter, quote character, and Flatten Nested JSON structure controls. The result panel provides Copy and Download buttons once CSV output exists, plus a preview table that shows the first five processed rows.

    Feature What the converter does Practical note
    Accepted JSON shape Works best with a JSON object or a JSON array of objects parsed by the browser's JSON parser. A single object becomes one CSV row. An array of objects is treated as multiple rows.
    Headers Creates headers from the union of keys found across processed rows. If later rows contain fields missing from the first row, those fields can still appear as columns.
    Nested objects When flattening is enabled, nested object keys become dot-notation headers such as position.title. Turn flattening off if you prefer nested objects to stay serialized inside a cell.
    Arrays Array values are converted into JSON strings inside a cell. The tool does not explode arrays into multiple rows.
    Delimiter options Outputs comma, semicolon, or tab-separated text. Use semicolon or tab output when comma decimals or comma-heavy text would be awkward in your destination app.
    Quote options Supports double quotes or single quotes for cells that require quoting. Cells are quoted only when they contain the active delimiter, a line break, carriage return, or the selected quote character.

    How to use the tool

    1. Paste valid JSON into the JSON Data editor, click Sample to load the built-in example, or use Upload JSON File to choose a local file. You can also drop a file onto the input panel.
    2. If the JSON is hard to read, click Format. The tool pretty-prints valid JSON with four-space indentation and shows an invalid JSON message if parsing fails.
    3. Choose a CSV Delimiter: comma, semicolon, or tab. The output refreshes when this setting changes after a conversion has input available.
    4. Choose the quote character. Double quotes are the conventional CSV choice, while single quotes can help when another system expects that style.
    5. Leave Flatten Nested JSON structure enabled for dot-notation columns, or turn it off when nested objects should remain as JSON text inside cells.
    6. Click Convert and review the CSV Result Output textarea, the preview table, the output size, and the CSV Document line count.
    7. Use Copy for clipboard transfer or Download to save the generated file as converted.csv.

    Example conversion

    The built-in sample contains three staff-like records with an id, name, nested position object, and active boolean. With the default comma delimiter, double quote setting, and flattening enabled, the verified output is:

    id,name,position.title,position.tier,active
    1001,Alice Green,Systems Lead,L6,true
    1002,Bob Vance,Quality Engineer,L4,false
    1003,Carol Danvers,Director,L9,true

    The nested position.title and position.tier columns come from flattening the nested position object. Boolean values are written as text values, so true and false remain readable in the CSV. If a value contains the chosen delimiter, a line break, or the selected quote character, the converter wraps that cell in the selected quote character and escapes matching quote characters by doubling them.

    Input, output, and limitation details

    The converter is designed for valid JSON text shaped as one object or an array of objects. It does not repair malformed JSON, accept comments, accept trailing commas, or interpret JavaScript object literal syntax. If the browser cannot parse the input with JSON.parse(), the page shows an invalid JSON message and clears the generated CSV. For cleanup before converting, use the Format button or check the input in the JSON Validator.

    Uploaded files are read as text through the browser's file reader. The file picker advertises .json and application/json, but drag-and-drop reads the selected file content as text, so the decisive requirement is valid JSON content rather than only a filename extension. Empty input and empty arrays produce no CSV rows. Very large files may be limited by browser memory, tab performance, or the time it takes the page to render the output and preview table.

    The tool does not infer data types, normalize dates, choose column order from a schema file, remove duplicate rows, validate required columns, or guarantee compatibility with every spreadsheet import setting. CSV itself also has dialect differences. The converter handles common quoting rules for delimiters, line breaks, carriage returns, and the chosen quote character, but you should still test the result in the destination app when the file will feed reporting, billing, operations, or public data.

    Choosing the right output style

    Situation Recommended option Why it helps
    Simple API records with nested objects Flattening on, comma delimiter Produces normal columns such as customer.id and customer.email for easier spreadsheet filtering.
    Data contains many commas in text fields Semicolon or tab delimiter Can make manual inspection easier and may match regional spreadsheet import preferences.
    Nested objects should stay intact Flattening off Keeps object values serialized as JSON strings in a single cell rather than spreading keys into separate columns.
    Need to move data back toward JSON later Keep headers simple and avoid manual edits Cleaner column names make a later pass through CSV to JSON easier to review.

    Troubleshooting

    Problem Likely cause What to try
    Invalid JSON message The input has a syntax problem such as a trailing comma, missing quote, comment, or unmatched bracket. Click Format to confirm parsing, then use the JSON Beautifier or JSON Validator for a closer review.
    Some cells are blank Not every object has every key included in the generated header list. Check whether the field exists in each source object. Blank CSV cells can be expected for optional fields.
    An array appears inside one cell Arrays are serialized instead of being expanded into repeated rows. Reshape the JSON before converting if each array item needs its own spreadsheet row.
    Spreadsheet columns do not split correctly The spreadsheet app may be using a different delimiter than the one you selected. Reconvert with semicolon or tab, or choose the matching delimiter in your spreadsheet import dialog.
    Large input feels slow Parsing, flattening, rendering output, and building the preview happen in the browser tab. Try a smaller sample first, split very large exports, or use a server-side data tool for bulk ETL work.

    Privacy and processing notes

    The visible conversion logic runs in your browser: pasted text, uploaded file content, JSON parsing, flattening, CSV generation, copy, and download are handled with client-side JavaScript. The implementation uses the browser FileReader API for selected or dropped files and creates the download with a temporary browser object URL. There is no separate conversion API call in the reviewed page code.

    That does not make every workflow risk-free. Avoid converting secrets, passwords, access tokens, private customer data, or unreleased business data unless you have permission and are comfortable with the site, browser, extensions, device, and network you are using. Local browser history, clipboard contents, downloaded files, and operating-system backups may preserve traces after the page is closed.

    Related JSON and table tools

    Use JSON Validator before conversion when you need to catch syntax errors without guessing where the parse failure starts. Use JSON Beautifier to reformat dense JSON before deciding which fields should become columns. Use JSON Viewer when you want to inspect nested data before flattening it.

    If CSV is not the right destination, try JSON to TSV for tab-separated output or JSON to YAML for configuration-style text. When you need to reverse a spreadsheet export, CSV to JSON is the closest companion tool.

    Editorial review and maintenance

    This article is built and maintained by Digital Domain Kit. The verified method is browser-side JSON parsing with JSON.parse(), optional recursive object flattening into dot-notation keys, header generation from processed row keys, delimiter-aware cell joining, quote escaping, preview rendering for up to five rows, clipboard copy, and a browser-generated converted.csv download. Report a problem through the contact page if the converter output does not match the behavior described here.

    Related Tools