CSV to JSON

Turn a spreadsheet export into JSON — free, no account needed, and without the data leaving your device.

Choose processing mode before selecting a file:

Convert CSV to JSON without uploading the file. Spreadsheet exports are how most people move data around, and they are usually the data you can least afford to hand to a stranger: a client list, a payroll export, a patient roster, a set of order records with names and addresses in it. In Sensitive mode the parse and the conversion run inside your browser tab, so the rows never reach our servers — and you can confirm that in the Network tab rather than taking our word for it.

How to use CSV to JSON

  1. Choose your privacy mode. Sensitive keeps the data on this device; Ordinary uploads it to our server for very large files.
  2. Select a .csv or .txt file. The delimiter is detected automatically — comma, semicolon or tab — and you can override it if the guess is wrong.
  3. Say whether the first row is a header. With a header, each record becomes an object keyed by column name; without one, records become arrays.
  4. Click Process and download the .json. Values stay as strings by default, so a leading zero in a postcode or an account number survives the trip.

Worked example

A semicolon-delimited client export with European decimals

A CRM exports 4,000 client records from a German office: semicolons as the delimiter, commas as decimal separators, quoted fields containing line breaks in the notes column, and a handful of short rows where trailing fields were simply omitted. The delimiter is detected as a semicolon, quoted newlines are kept inside their field rather than splitting the record, and short rows are padded rather than silently dropped. Type inference is off by default, which is what you want here: a value like "0049" stays the string it was instead of becoming the number 49, and "1,50" is not mangled into something it never meant. Because the file is a client list, run it in Sensitive mode — 4,000 people's contact details are exactly the kind of data that should not be uploaded to a free converter.

Processing limits & specifications

ModeLocationMax file sizeRetention
Sensitive modeYour device (WASM)Up to 30 MB (typical device)Never stored / zero egress
Normal modeServer sandbox200 MBDeleted when you close the page

Frequently asked questions

Can I convert CSV to JSON without uploading the file?

Yes. In Sensitive mode the whole conversion happens in your browser tab. Open the Network tab, run a file through, and no request carries your data — the page's Content-Security-Policy blocks outbound connections entirely.

Is it free? Any signup or row limit?

Free, no account, no email, no watermark, and no artificial row cap. The only limit is what your device can hold in memory, shown on the page before you choose a file.

Does it handle semicolon or tab separated files?

Yes. Comma, semicolon and tab are detected automatically, and you can override the choice if a file is unusual.

What happens to quoted fields containing commas or line breaks?

They are preserved. A quoted field holding a comma, a semicolon or a newline stays one value rather than splitting the row.

Will my numbers and leading zeros be mangled?

No. Type inference is off by default, so every value stays a string. A postcode of 01234 or an account number with leading zeros comes out intact — the most common way CSV conversions quietly corrupt data.

What if some rows have fewer columns than the header?

Short rows are padded rather than dropped, so you see the gap instead of losing the record.

Does the first row have to be a header?

No. Turn the header option off and each row becomes an array of values instead of an object.

Is a BOM at the start of the file a problem?

No. A byte-order mark from Excel is handled, so the first column name does not arrive with invisible characters attached.

Does it work offline?

Yes, once the page has loaded. Sensitive mode makes no network requests at all.

Do you keep a copy of my data?

In Sensitive mode we never receive it. In Ordinary mode the file is encrypted at rest, deleted when you close the window, five minutes after you download, or fifteen minutes after processing finishes — whichever comes first.