# Convert CSV to JSON

> Convert CSV data to JSON arrays or objects with customizable parsing options. Nothing logged, nothing sent.

Live tool: https://lofttools.com/tools/dev-tools/csv-to-json

Category: Dev Tools

## How it works

1. **Paste CSV** — Paste your CSV data or open a CSV file
2. **Configure** — Pick a delimiter (or let it auto-detect) and choose the output shape — array of objects, arrays, column array, or JSON Lines
3. **Tune output** — Toggle parse-numbers, lowercase keys, NULL → null, omit empty fields, or minify the result
4. **Copy JSON** — Copy the JSON output or download it as a .json file

## FAQ

### How does auto-detect delimiter work?

It scans the first non-empty line, counts unquoted commas, tabs, semicolons, pipes, and colons, and picks whichever occurs most often. You can override this with an explicit choice or a custom single character.

### Does it handle quoted fields, embedded commas, and escaped quotes?

Yes. Full RFC 4180 quoting is supported — fields wrapped in double quotes may contain the delimiter, newlines, or doubled ("") quotes which unescape to a single quote.

### Can I turn "42" into 42 in the JSON output?

Yes. Enable "Parse numbers" under Parsing options and integer or decimal cell values become JSON numbers. Values that aren't strictly numeric are left as strings.

### What output formats are supported?

Four shapes — Array of objects (default), Array of arrays (nested list), Column array (per-column arrays keyed by header), and JSON Lines / NDJSON (one record per line, ideal for streaming tools).

### What is the column type preview?

When headers are enabled, a row of chips shows the inferred type (number, boolean, null, string, empty) for every column based on all data rows — so you can see which columns will change if you enable parse-numbers before converting.

### Can I skip junk rows at the top of a CSV?

Yes. Set "Skip leading rows" under Parsing options to drop N rows before parsing — useful when exports prepend a title row or metadata.

## Privacy — what we do not do

This tool runs entirely in the browser via WebAssembly. Your file never reaches a Loft Tools server. Specifically:

- **No upload.** The file bytes load into the browser tab's memory and process on your own CPU. Open DevTools → Network and observe zero outbound requests carrying file data while Convert CSV to JSON runs.
- **No AI training on your file.** Loft does not train models. We could not train on a file we cannot see.
- **No content scanning.** No virus, copyright, or content-moderation pass against your file. The bytes are not accessible to us.
- **No server-side log of file contents, filenames, or EXIF metadata.** Cloudflare edge captures URL and truncated IP for abuse defense (standard CDN behaviour). Cloudflare Web Analytics records anonymous page hits, no cookies, no PII. Nothing about your file content reaches any log.
- **No retention.** Close the tab and the file leaves browser memory. No backups exist on our side because no copy ever existed on our side.
- **No account.** No email, no signup, no auth, no telemetry tied to you.
- **Offline-capable after first visit** (PWA). Once you've loaded a tool, it caches; later sessions work without internet. For high-sensitivity files, run the tool once online to warm the cache, then disconnect before processing.

Compare with upload-based services: each transmits your file to a processing server. Even over HTTPS, each has logs, retention windows, and subpoena exposure. Loft has none of these because the server architecture does not include your file.

## More

- All tools: https://lofttools.com/tools
- Category: https://lofttools.com/tools/dev-tools
- LLM index: https://lofttools.com/llms.txt
