Developer Tools — 9 tools

CSV to JSON Converter

Convert CSV to JSON without installing anything or handing your data to a server. Paste a spreadsheet export or drop a .csv file in, and every row comes back as a clean JSON object — quoted fields, odd delimiters and all. It runs entirely in your browser.

 

How to convert CSV to JSON

CSV is the format spreadsheets speak; JSON is the format APIs and code speak. Moving between them is one of those small chores that comes up constantly — seeding a database from a spreadsheet, feeding an export into a script, or turning a report into fixture data for tests. Paste the CSV, press Convert, and you get an array of objects with one entry per row and one property per column, named from the header row.

If you would rather not hand-manage the shape, three options cover most needs. Pretty JSON array is the readable default. Minified strips the whitespace for anything you are about to send over the wire. NDJSON writes one object per line, which is what log pipelines, BigQuery, and many bulk-import endpoints actually want.

Quoted fields, commas, and line breaks

Naively splitting a CSV on commas breaks the moment a value contains one, and real exports are full of them — addresses, names in "Last, First" order, free-text notes. This tool uses a proper character-by-character parser instead, so a quoted field keeps its commas, a doubled quote ("") inside a quoted value resolves to a single literal quote, and a newline inside quotes stays part of that value rather than silently starting a new record. Rows with fewer cells than the header are padded rather than shifted, so your columns never slip out of alignment.

Keeping numbers, booleans, and leading zeros intact

Everything in a CSV file is technically text, so a converter has to guess what you meant. With type parsing enabled, 42 becomes the number 42 and true becomes a real boolean — which is usually what you want. The exception is identifiers: a ZIP code of 07030 or an SKU of 0041 would lose its leading zero if treated as a number, so values like those are deliberately kept as strings. When a file is full of such codes, switching type parsing off keeps every value as text and guarantees nothing is reinterpreted.

Converting an Excel spreadsheet to JSON

There is no need for a separate Excel-to-JSON tool. Export the sheet as CSV from Excel, Google Sheets, or Numbers and paste it here. One thing to watch: spreadsheets in several European locales write CSV with semicolons because the comma is the decimal separator. Auto-detect handles that for you, and you can always force a specific delimiter — comma, semicolon, tab, or pipe — from the dropdown.

Going the other way? Use the JSON to CSV converter, which flattens nested objects into spreadsheet columns. To check or tidy the JSON this tool produces, the JSON formatter and validator will pretty-print it and point at any syntax error. Both, like everything in our developer tools, run without uploading a byte.

Frequently asked questions

How do I convert CSV to JSON?

Paste your CSV into the input box — or drop a .csv file onto it — and click Convert. The first row is read as the header, and every following row becomes a JSON object keyed by those column names. You can then copy the result or download it as a .json file. Nothing is uploaded; the conversion happens on your device.

Can I convert an Excel spreadsheet to JSON?

Yes, in one extra step. Excel, Google Sheets, and Numbers can all export a sheet as CSV (File → Save As, or File → Download → Comma-separated values). Paste that CSV here and it converts straight to JSON. If your spreadsheet was exported in a European locale it may use semicolons instead of commas — leave the delimiter on Auto-detect and the tool will work it out.

What happens to commas and quotes inside a value?

They are handled properly. The parser follows the CSV convention, so a quoted value like "Doe, John" stays in a single field instead of being split at the comma, a doubled quote ("") inside a quoted value becomes one literal quote character, and a line break inside quotes stays part of that value rather than starting a new record.

Will numbers and IDs with leading zeros be preserved?

Yes. With "Parse numbers and booleans" on, values that look like numbers become real JSON numbers and true/false become booleans — but anything with a leading zero, such as a ZIP code like 07030 or a product ID, is deliberately left as a string so the zero is not lost. Turn the option off to keep every single value as a string.

Can I convert a CSV that has no header row?

Yes. Untick "First row is a header" and the tool generates column names for you — column_1, column_2, and so on — so every row still becomes a usable object. This is handy for raw exports and log files that start straight in on the data.

Is my CSV data uploaded to a server?

No. The parsing and conversion run entirely in your browser with no network requests, so your data never leaves your device and nothing is stored or logged. That makes it safe for exports containing customer records, financial data, or anything else you would not paste into a random website.