CSV -> JSON · Local tool
CSV to JSON
Turn a CSV or TSV file into JSON, as an array of objects or as rows.
Last updated
How do I convert a CSV file to JSON without uploading it?
Open filetity's CSV to JSON converter, drop the file in, and the JSON appears beside it. The parsing happens inside the browser tab, so the spreadsheet is never uploaded, which matters because a CSV export is usually a customer list or a transactions dump. It reads quoted fields containing commas and line breaks, doubled quotes as an escaped quote, CRLF endings, and the byte order mark Excel puts at the start of a file. The separator is detected from the header line, so semicolon and tab files are read correctly rather than arriving as one column. Output can be an array of objects keyed by the header row, or an array of raw rows when the header is data.
01 / Your device
the file stays here
02 / Browser memory
the work runs locally
03 / Back to you
saved on this device
When you would use this
Situations, not settings.
- Seeding a database or a test fixture from a spreadsheet
- Export the sheet as CSV, drop it here, and take the array of objects straight into your code. Values stay strings, so a leading zero on a postcode survives.
- A CSV that opens as one long column everywhere else
- That file uses semicolons, which is what Excel writes in most of Europe. The separator is read from the header line and shown to you, and you can override it.
- An export you would rather not upload
- A CSV from a CRM or a payroll system is a list of real people. This reads it in the tab, so the conversion does not put it on someone else's server.
How it works / no cloud
A conversion engine, not an upload form.
filetity parses the CSV in the page with a reader written for this site, not a server round trip. It handles the parts that break naive splitting on commas: quoted fields containing commas or line breaks, doubled quotes as an escaped quote, CRLF endings, and the byte order mark Excel writes at the start of a file. The delimiter is detected from the header line, so a semicolon file from a European Excel does not arrive as one giant column.
- Offline ready
- Installable app
- No file limit queue
Straight answers
No accordion. Nothing hidden.
- Is it free?
- Yes, with no watermark and no page limit.
- Does it need an account?
- No. There is no account system.
- Is my file processed on my device?
- Yes. The file is read by your browser and never uploaded. There is no server to send it to.
- What formats are supported?
- CSV, TSV and semicolon or pipe separated text in. JSON out, either as an array of objects keyed by the header, or as an array of rows.
- What are the limits?
- The whole file is held in memory and rendered, so a few tens of megabytes is comfortable and a hundred megabyte export is not. Rows with more or fewer fields than the header are reported rather than dropped.
- Does it work on mobile?
- Yes, on any modern mobile browser. Large files are limited by the memory the phone gives the browser.
- Does it work offline?
- Yes, once the page has loaded. The tool keeps working with no network connection.
- My CSV opened as one long column. Why?
- The file almost certainly uses semicolons, which is what Excel writes in most of Europe and in any locale where the comma is the decimal separator. This page reads the header line to work out the separator before parsing anything, and you can override it if the guess is wrong. A tool that assumes commas gives you one column with the whole row inside it.
- What happens to a row with the wrong number of fields?
- It is kept and flagged, not silently dropped and not thrown as an error. A short row is padded with empty values and a long row keeps its extras, and the count of both is shown above the output. Real exports have ragged rows in them, usually where a field contained an unescaped quote, and failing the whole file over one line is not useful.
- Should the JSON be objects or rows?
- Objects when the first line is a header and you want records you can address by name, which is what most code wants. Rows when the header is data, when column names repeat, or when the order matters more than the names. The toggle is above the output and switching it does not re-read the file.
- Does it handle commas and line breaks inside a field?
- Yes, when they are inside double quotes, which is what RFC 4180 says a CSV writer must do. A field written as "Smith, John" stays one field, a doubled quote inside a quoted field becomes one quote, and a line break inside quotes does not start a new row. This is the part that hand-rolled splitting on commas always gets wrong.
- Is the file uploaded to convert it?
- No. The CSV is read by your browser off the disk, parsed in the tab, and the JSON appears next to it. Nothing is posted. Spreadsheets are usually the most sensitive files people convert online, because a CSV export is normally a customer list, a payroll run or a transactions dump.
Keep working locally
3 available · more coming