Developer Tools

CSV to JSON

Convert CSV, semicolon-separated text or TSV into a JSON array of objects locally. Handle quoted multiline cells, preview the records and preserve every cell as a string.

Your content stays on your device Free, with no account
From rows and columns to JSON records Converted on your device
Up to 200,000 UTF-16 input units. Quoted cells support delimiters, doubled quotes and line breaks.

Every cell becomes a JSON string. Leading zeros, large IDs, dates, formula-like text and apostrophe prefixes stay as written. Without a header, keys are column_1, column_2 and so on.

YOUR JSON RECORDS

Ready. Choose the delimiter that matches your data.

Columns must have consistent field counts. Header names must be nonblank and unique. A leading UTF-8 BOM is removed; other spacing is preserved. Cell contents are never evaluated.

A FEW SIMPLE STEPS

How to use CSV to JSON

  1. Paste CSV or delimited text and choose comma, semicolon or tab to match the source.
  2. Choose whether the first record contains column names and whether completely empty records should be skipped. Select JSON indentation.
  3. Select Convert to JSON. Review row/column counts and the table preview; correct any quoting, header or row-width errors.
  4. Copy or download the full JSON array. Every value is a string; the table preview shows only the first 30 data rows and 10 columns.
PRIVATE BY DESIGN

Why use this tool?

Parsing and JSON generation happen entirely in your browser without uploads, accounts, dependencies or input storage. Values stay strings so numeric-looking IDs, leading zeros, date text and formula-like content are not silently changed or evaluated.

Tool inputs stay in your browser. Only your theme preference is saved on this device.

A few things worth knowing

Which CSV features are supported?

Comma, semicolon and tab delimiters are supported, with double-quoted fields, doubled internal quotes and quoted multiline content. Record separators may be CRLF, LF or CR. A quote must open at the start of a field, and a closing quote must be followed immediately by the delimiter, a record break or end of input. There is no delimiter guessing or Excel sep= directive handling. Select the correct delimiter explicitly.

How are headers handled?

With the header option on, the first retained record supplies property names. Names are preserved exactly, including surrounding spaces, but blank or whitespace-only names and exact duplicate names are rejected. Matching is case-sensitive. With the option off, all retained records are data, and keys are column_1, column_2 and so on. Every data row must have the same field count as the first retained record.

Does it convert numbers, dates, booleans or nested JSON?

No. Every cell becomes a JSON string, including empty cells, numeric text, true, null and date-looking content. Large IDs and leading zeros stay intact. Formula-like text and apostrophe prefixes are retained without execution or removal. A cell containing JSON text remains a string; it is not expanded into a nested value.

What is considered an empty record?

Skip completely empty records removes only record breaks with no content between them. Records containing spaces, delimiters or quoted empty fields are retained. A final record terminator does not create an extra record. Empty cells become empty strings. A header-only input produces an empty JSON array; completely empty input gives an error.

How are Unicode, spacing and line endings handled?

A single BOM at the start is removed. Other spacing and cell text are preserved. Quoted cell line endings are retained by the parser, but browser textareas normalize pasted CRLF/CR to LF before conversion. JSON escaping preserves tabs, line breaks, quotes and surrogate units without evaluating content. Output member order follows source columns, including numeric-looking header names.

What are the limits and privacy behavior?

Input accepts 200,000 UTF-16 units, 5,000 data rows, 200 columns and 100,000 data cells. JSON output is limited to 2,000,000 units because long headers repeat in every object. Over-limit or malformed data gives no partial output. Preview shows 30 rows and 10 columns; exports include the entire result. Clear keeps options, Example restores defaults, and edits clear stale results. No text is uploaded or saved in browser storage.