Convert CSV to JSON (and back) — without uploading.

Array of objects, NDJSON, or custom shape. Convert either direction, handle nested objects, preserve types. No API keys, no upload.

No upload No account No size limit Works offline CSV · TSV · XLSX

Drop CSV, TSV or Excel to convert to JSON

CSVTSVXLSX

File never leaves your device

Everything the CSV ↔ JSON converter does

Array or NDJSON output

Get a standard JSON array (for REST APIs and data tools) or newline-delimited JSON (for log pipelines and streaming).

Both directions

CSV → JSON and JSON → CSV in the same tool. Round-trip your data without data loss.

Nested objects handled correctly

If your JSON has nested objects or arrays, they're serialized as JSON strings in CSV (not broken as "[object Object]" like most tools).

Union of keys across all objects

Every key from every object becomes a column. Sparse objects don't lose their unique fields (another bug most converters have).

Works with Excel input too

Drop an XLSX and get JSON directly — skip the CSV middleman.

Human-readable or minified

Pick 2-space, 4-space, or minified output depending on downstream use.

How do nested objects get serialized when converting CSV → JSON?

CSV is flat by nature, so if your CSV has a column like address with a JSON string in it, converting produces a JSON object with that cell as a string value. Example: {"address":"123 Main St"}. If you need deep nesting from CSV, parse the CSV into JSON and then post-process the specific columns in a script.

What's the difference between "array of objects" and NDJSON?

Array of objects: one big [{...}, {...}, ...] — standard for REST APIs. NDJSON (JSON Lines): one JSON object per line, no surrounding array — standard for log pipelines, BigQuery imports, and streaming. NDJSON scales better for huge files because readers can process one line at a time.

Can I convert JSON → CSV with nested objects?

Yes — nested objects and arrays are serialized as JSON strings in the CSV output. Example: {"tags":["a","b"]} becomes a cell with value ["a","b"]. This is different from most tools that either drop these fields or produce broken "[object Object]" cells.

What happens when my JSON has sparse objects?

Sparse means some objects have keys that others don't. The tool unions all keys across every object and produces one column per key. Missing values become blank cells. Your output CSV has every field — nothing is silently dropped.

Do numbers get quoted in the CSV output?

No. Numbers are written as bare numbers: 42, not "42". Strings are quoted only when they contain commas, quotes, or newlines.

What about null, true, false values?

null becomes an empty cell in CSV. true and false become TRUE and FALSE strings. On JSON output the types are preserved correctly.

Can I paste JSON directly or do I need a file?

Use the JSON → CSV tab — there's a textarea to paste your JSON. Up to a few MB works fine. For larger JSON, save to a file and use the CSV → JSON flow in reverse (drop the file and change the download to CSV).

Does the tool validate my JSON?

Yes. If you paste invalid JSON, you'll get a clear error pointing to roughly where the parse failed. Common causes: trailing commas (not valid JSON), single quotes instead of double, or missing outer brackets.

Is there a max file size?

Your browser's memory. Very large JSON (500MB+) may be slow to pretty-print — use the "Minified" output option for faster processing at the cost of readability.

Can I save my output preferences?

Yes — "💾 Save settings" stores your JSON output format (array vs NDJSON) and indent level. Reload the tool and those defaults are applied automatically.

What's the difference between JSON array and NDJSON output?

JSON array gives you [{"id":1,"name":"Alice"},{"id":2,"name":"Bob"}] — a single document. Most APIs, frontend apps, and tools like jq expect this. NDJSON (newline-delimited JSON) puts one JSON object per line — {"id":1,"name":"Alice"} then {"id":2,"name":"Bob"}. NDJSON is the standard for streaming pipelines, BigQuery imports, ElasticSearch bulk API, and large log-style files because each line can be processed independently.

How do I convert JSON back to CSV for Excel?

Click the JSON → CSV / XLSX tab, paste your JSON (array of objects) or drop a .json file. The tool flattens the first level of keys into columns — so {"name":"Alice","email":"[email protected]"} becomes name,email columns. Pick CSV, TSV, or XLSX as the output format. Nested objects get serialized as JSON strings; for deep flattening you'll need to pre-process.