CSV to JSON Converter

Paste CSV data — from a spreadsheet export or anywhere else — and convert it into a JSON array of objects. The first row becomes the keys; numbers and booleans are detected automatically.

csv-to-json · runs locally

What this CSV to JSON converter does

Spreadsheets export CSV; applications and APIs want JSON. This converter reads your CSV with a proper RFC 4180 parser — quoted fields, embedded commas and multi-line cells are all handled correctly — and emits a JSON array with one object per row, using the header row as keys. Optional type detection turns numeric and boolean strings into real JSON numbers and booleans, which is usually what code consuming the data expects.

The conversion runs entirely in your browser, so spreadsheets containing customer lists, financials or other private data never leave your machine.

How to convert CSV to JSON online

  1. Export your spreadsheet as CSV and paste it into the input box.
  2. Choose whether to auto-detect numbers and booleans.
  3. Click Convert to JSON.
  4. Copy the pretty-printed JSON array into your code, API request or fixture file.

Watch out for these CSV quirks

Two things trip up most CSV conversions. First, identifiers with leading zeros (ZIP codes, product SKUs) become numbers if type detection is on — disable it when those columns matter. Second, CSV exported from some European locales uses semicolons instead of commas; re-export with comma delimiters or replace them first. Going the other direction? The JSON to CSV Converter is the mirror of this tool.

Frequently asked questions

What CSV format does the converter accept?

Standard RFC 4180 CSV: comma-separated fields with an optional header row, where fields containing commas, quotes or line breaks are wrapped in double quotes. Files exported from Excel, Google Sheets and databases follow this format.

What does 'detect numbers and booleans' do?

With detection on, values that look like numbers become JSON numbers, and true/false/null become their JSON equivalents — so "42" becomes 42. Turn it off to keep every value as a string, which is safer for ZIP codes, phone numbers and IDs with leading zeros.

How are missing values handled?

If a data row has fewer fields than the header row, the missing columns become empty strings, so every output object has the same set of keys. Extra unnamed columns get generated names like column_5.

Can I convert Excel files directly?

Not .xlsx binaries — first export the sheet as CSV (File → Save As or Download → CSV in Excel and Google Sheets), then paste the CSV here. The result converts cleanly because both apps produce standard CSV.