zerouploads

CSV to JSON Converter

Load a CSV and read the JSON. Quoting, embedded newlines and ragged rows are handled, not guessed at.

  • Unlimited
  • No signup
  • Private
  • Works offline

Convert CSV to JSON

6 rows · 6 columns · 277 B
Conversion format

Objects name each value from the header row. Arrays keep the plain grid. Lines puts one object on each line.

CSV parsing options
6 rows
Parsed rows, 6 of them
Rowidnameplanseatsmrractive
11001Reed, Anateam12522.00true
21002Okonkwo Ltdsolo129.00true
31003Vance "Vee" Coleteam8348.00false
41004Ito Manufacturingscale1406090.00true
51005Bright & Sonssolo258.00true
61006Delacroix SARLteam9391.00trueeu-west

1 row flagged · extra fields dropped

JSON output

VALID
[ { "id": 1001, "name": "Reed, Ana", "plan": "team", "seats": 12, "mrr": 522, "active": true }, { "id": 1002, "name": "Okonkwo Ltd", "plan": "solo", "seats": 1, "mrr": 29, "active": true }, { "id": 1003, "name": "Vance \"Vee\" Cole", "plan": "team", "seats": 8, "mrr": 348, "active": false }, { "id": 1004, "name": "Ito Manufacturing", "plan": "scale", "seats": 140, "mrr": 6090, "active": true }, { "id": 1005, "name": "Bright & Sons", "plan": "solo", "seats": 2, "mrr": 58, "active": true }, { "id": 1006, "name": "Delacroix SARL", "plan": "team", "seats": 9, "mrr": 391, "active": true }]

6 rows · 6 columns · 277 B in / 760 B out

How it works

  1. 01

    Load or paste CSV

    The delimiter, quote character and header row are detected, and you can override any of them.

  2. 02

    Check the table

    The table shows exactly how the file was read. Rows that do not match the header are flagged before you convert.

  3. 03

    Copy or download

    Array of objects, array of arrays, keyed object, or JSON Lines for streaming.

Type inference and why it can bite

With Infer numbers & booleans on, cells that look like numbers or booleans become JSON numbers and booleans instead of strings. That is usually what you want, but not always. Postcodes, phone numbers, product codes and IDs lose their leading zeros when read as numbers, and identifiers past 2^53 lose precision. Turn it off when a column holds identifiers, not quantities.

CSV cannot tell an empty string from a missing value. By default an empty cell stays an empty string, and Empty cell → null turns it into null instead. Dates stay strings, because no CSV convention marks one, and guessing between day-first and month-first order would corrupt data without warning.

Input
CSV, TSV, and semicolon- or pipe-delimited UTF-8 text.
File size
No cap. Past 200,000 characters, press Convert and a worker parses it.
Output shapes
Array of objects, array of arrays, keyed object, JSON Lines.
Quoting
RFC 4180: quoted fields may contain delimiters, newlines and escaped quotes.

Output shapes

Array of objects

[{"id":1,"name":"Northwind Ltd"}, ...]

The default. Best for APIs and most libraries.

Array of arrays

[["id","name"],[1,"Northwind Ltd"], ...]

Compact, keeps column order, no repeated keys.

Keyed object

{"1":{"name":"Northwind Ltd"}, ...}

Keyed by the first column, for lookups.

JSON Lines

{"id":1} {"id":2, ...}

One object per line, for streaming and log pipelines.

Frequently asked questions

Is my CSV uploaded to convert it?
No. The file is read from disk and parsed on your machine, so customer exports, financial data and anything else confidential never leave it. There is no upload step and nothing for us to keep.
How large a CSV can I convert?
There is no fixed limit, because the file stays on your device. Your browser's memory is the real limit. Up to 200,000 characters the JSON updates as you type. Past that, press Convert, and a worker parses the file so the page stays responsive.
Why did my leading zeros disappear?
Infer numbers & booleans turns number-like cells into JSON numbers. Turn it off when a column holds postcodes, phone numbers, product codes or identifiers that must keep leading zeros.
Can it handle semicolon or tab files?
Yes. Detection covers comma, tab, semicolon and pipe, or you can pick the Delimiter yourself.
What happens to rows with too many fields?
The tool flags them instead of hiding them. You can drop the extra values or keep them under an __extra property before you download the result.
Can I convert JSON back to CSV?
Yes. Use the related JSON to CSV tool to flatten an array of objects into rows and columns.
Browse all developer tools