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
- Choose or drag a .csv file into the tool, or switch to Paste CSV and paste your text.
- Review the detected delimiter and the table preview, and adjust the delimiter or header setting if needed.
- 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.