← Back to File & Data Tools
Checking tool availability…

CSV to JSON processes files locally in your browser.

Convert CSV to JSON online

Turn a comma-, semicolon-, tab-, or pipe-delimited CSV into formatted JSON without installing desktop software. Upload a .csv file or paste CSV directly, choose whether the first row holds headers, and review a live preview before downloading.

Your CSV is processed locally in your browser and is not uploaded to our servers.

How to convert CSV to JSON

  1. Choose or drag a .csv file into the tool, or switch to Paste CSV and paste your text.
  2. Review the detected delimiter and the table preview, and adjust the delimiter or header setting if needed.
  3. Select Convert to JSON to generate and download the formatted .json file.

Predictable, string-preserving conversion

  • Every CSV value is written to JSON as a string — never inferred as a number, boolean, or null — so leading zeros and large numeric identifiers survive exactly.
  • With headers enabled, each row becomes an object with every header key present; short rows are padded with empty strings and rows with extra values get additional positional keys rather than losing data.
  • Blank or duplicate header names get deterministic fallback and suffix names, such as column_2 or name_2.
  • With headers disabled, every row (including the first) becomes a plain array of values.
  • The result is formatted with 2-space indentation for readability.

Private CSV-to-JSON processing

Your CSV is processed locally in your browser and is not uploaded to our servers, whether you choose a file or paste text. Parsing and JSON generation both run in the browser with a quote-aware parser — there is no SheetJS or other spreadsheet round-trip that could reinterpret your values. There is no Looty Tools conversion endpoint that receives your CSV contents for this workflow.

Limits and important notes

  • Maximum CSV size is 25.0 MB, whether uploaded or pasted.
  • Maximum output is 50,000 data rows and 500 columns, and maximum generated JSON size is 50.0 MB. Exceeding a limit fails with a clear error rather than producing truncated output.
  • A CSV with only a header row and no data rows is rejected when “First row contains headers” is enabled; turn it off to convert it as data instead.
  • A fully blank row is preserved as an all-empty object or array rather than being silently skipped, except for a single trailing blank line at the very end of the file.
  • Only one CSV input can be converted at a time.

Related tools

CSV to JSON FAQ

How do I convert CSV to JSON?
Open CSV to JSON, choose or drop a .csv file (or switch to Paste CSV), review the detected delimiter and preview, then select Convert to JSON to download a formatted .json file.
Is my CSV file uploaded?
No. Your CSV is processed locally in your browser and is not uploaded to our servers, whether you choose a file or paste text.
Are values converted to numbers or booleans?
No. Every value is written to JSON as a string, exactly as it appeared in the CSV. Leading zeros, large numeric identifiers, and boolean-looking text such as "true" are never reinterpreted.
What happens with duplicate or blank column headers?
Blank headers get a positional fallback name such as column_2. Duplicate names (including a collision between a real header and a generated fallback) are suffixed deterministically, such as name, name_2, name_3.
What happens with rows that have too few or too many values?
Short rows are padded with empty strings so every object has the same keys. Rows with extra values get additional positional keys rather than having the extra data silently dropped.
What if "First row contains headers" is turned off?
Every row, including the first, becomes a plain JSON array of values instead of an object, and the result is a top-level array of arrays.
What is the maximum CSV file size?
Each CSV input must be 25 MB or smaller, whether uploaded or pasted.
Can the converter detect semicolon, tab, or pipe delimiters?
Yes. Auto-detect inspects the first nonblank records and can choose comma, semicolon, tab, or pipe. You can also set the delimiter manually.