Skip to content
World Cup Kickoff Time Converter is liveSee kickoff times in your time zone and add calendar reminders.

JSON ↔ CSV Converter

Convert CSV, TSV, and JSON locally with file import, JSON Lines, 2D arrays, nested object flattening, delimiter detection, and copy/download output.

Delimiter

JSON indent

Use header row

Trim fields

Skip empty lines

CSV to JSON

Flatten nested objects

JSON

CSV

JSON ↔ CSV Converter

Quick Start

1
Import a .csv/.tsv file or paste CSV/TSV in the CSV editor; JSON syncs automatically.
2
Import a .json file or paste JSON in the JSON editor; CSV syncs from the latest valid JSON.
3
Keep Auto delimiter or choose comma, Tab, semicolon, or pipe.
4
Set header row, output mode, flattening, trim fields, skip empty lines, and JSON indent.
5
Copy or download either side; Clear empties both editors.

Common Scenarios

Excel copy to JSON

copy a cell range from Excel or Google Sheets, paste the tab-delimited text into the CSV pane, and convert it to a JSON object array.

API response to spreadsheet

convert JSON responses to CSV for analysis in Excel or Google Sheets.

Import payload prep

turn pasted CSV rows into JSON payloads for import scripts or API requests without running the import here.

Log review

convert CSV logs to JSON before using downstream query tools; this page does not run jq expressions.

Mapping table migration

switch the current pasted mapping table between CSV and flat JSON config snippets.

Data cleanup

quickly clean exported data with field trimming and empty-line skipping.

Conversion Contract

The last edited pane is the source of truth. Option changes regenerate the derived pane from that side, and stale derived output is not kept after parse errors.
With header row on, the first CSV row becomes object keys; blank headers become col1/col2, and duplicate headers receive _2/_3 suffixes. With header row off, CSV becomes a 2D array.
Object arrays become a union header plus rows, arrays of arrays become rows, primitive arrays become a single column, and one JSON object becomes one row. Missing object fields output empty cells.
Auto delimiter detection only compares comma, Tab, semicolon, and pipe on the first non-empty row outside quoted fields. It does not inspect the whole dataset or change the selected delimiter.

Usage Advice

Data pasted from Excel is usually tab-delimited. Auto detection checks the first non-empty row outside quoted fields; if it guesses wrong, choose the delimiter manually.
When "Use header row" is on, the first row is treated as column names. Turn it off if your CSV has no header.
Blank header cells become col1, col2, and so on. Duplicate header names get suffixes such as name_2 to keep JSON keys unique.
JSON → CSV accepts flat object arrays, arrays of arrays, primitive arrays, or a single object. Object arrays use all keys in first-seen order, and missing fields become empty cells.
JSON -> CSV can flatten plain nested objects into escaped dot-path columns. Arrays stay serialized as JSON strings in cells.
Fields containing delimiters, newlines, or double quotes are automatically quoted and escaped per CSV rules.
If JSON or CSV is invalid, the source pane keeps your input and the derived pane is cleared until the input is fixed. JSON errors include line and column details when the parser reports them.

Round Trip Boundaries

CSV cells are text. CSV → JSON does not infer numbers, booleans, nulls, or dates, and JSON → CSV → JSON can turn typed values back into strings.
Nested JSON objects can be flattened to dot-path columns when Flatten is on. Arrays stay JSON strings, and CSV -> JSON does not rebuild nested objects from paths.
Strict JSON parsing follows JavaScript number behavior. Integers beyond the 53-bit safe range can lose precision unless you keep them as quoted strings.
This is a plain-text CSV/TSV converter. It can read text copied from Excel or Sheets, but it does not parse .xlsx workbooks, sheets, formulas, formatting, or merged cells.
Unsupported here: XLSX/XLS/ODS/Numbers workbooks, URL import, batch file conversion, CSV schema validation, CSV lint reports, nested unflattening, dynamic typing, SQL import, Google Sheets connection, jq expressions, and preview tables.

Limitations & Compatibility

CSV is a flat tabular format and cannot natively represent nested structures. Nested JSON objects/arrays are serialized as strings and cannot be fully restored on reverse conversion.
CSV stores values as text. After a JSON → CSV → JSON round trip, numbers, booleans, nulls, and dates may come back as strings.
UTF-8 BOM (\uFEFF) is removed automatically. Other encodings (for example, GBK or Shift-JIS) are not supported; convert to UTF-8 first.
Like JSON in JavaScript, this tool follows IEEE 754 limits. Integers beyond 53-bit safe range may lose precision.

Privacy & Security

Processing runs locally in your browser. JSON/CSV editor text may stay as a browser draft. If a saved workspace or WebDAV sync is enabled, the JSON text, CSV text, delimiter, output mode, flatten setting, header-row option, trim-fields option, skip-empty-lines option, JSON indent choice, line-number preferences, and wrapping preferences may be saved through that sync. Imported file objects, file names, file sizes, parse errors, line/column highlights, copy state, and undo history are runtime data and are not saved as separate result data. This page does not fetch URLs or upload files; local imports are read with browser file APIs, and JSON/CSV downloads are created only when you click Download.

FAQ

6

Continue with these related tools for the next step.

All tool processing happens locally in your browser.