Free online data converter for CSV, JSON, TSV and JSONL.
Convert CSV, TSV, JSON, JSONL and NDJSON without sending the source files to a conversion server. Original data files stay unchanged on your device.
0 files
UTF-8 data stays local. CSV/TSV use the first row as headers; nested JSON uses dot-notation columns.
CSV, TSV, JSON, and JSON Lines in one batch workflow.
The data converter is designed for common interchange work: turning spreadsheet exports into JSON, flattening JSON records into CSV or TSV, switching delimiters, and moving between normal JSON arrays and line-oriented JSONL/NDJSON. The source files remain local to the browser session.
The converter avoids silent type guessing. CSV and TSV cell values remain strings, nested JSON objects use dot-notation columns for tabular output, and arrays remain explicit JSON text when a cell cannot represent their structure directly.
- Quoted CSV/TSV fields can contain delimiters, escaped quotes, and embedded line breaks.
- The first CSV/TSV row becomes headers; empty and duplicate names are normalized safely.
- JSON arrays become rows; a single JSON object becomes one row when converting to CSV or TSV.
- JSONL and NDJSON share the same one-JSON-value-per-line input path.
- Successful batch results can be downloaded individually or together as a ZIP.
Start with the data jobs people need most often.
CSV to JSON and JSON to CSV are promoted first because they solve common spreadsheet, API and application interchange problems. JSON Lines routes remain one click away for line-oriented datasets.
Popular data conversions
Only show settings that change the data representation.
The shared converter UI renders controls declared by each engine. Data can expose structured-text options without adding data-specific logic to the batch queue, while each output keeps only the controls that actually affect its representation.
| Output | Controls | Behavior |
|---|---|---|
| CSV | Header row, LF/CRLF, UTF-8 BOM | Comma-delimited with RFC-style quoting when a value needs it. |
| TSV | Header row, LF/CRLF, UTF-8 BOM | Tab-delimited with safe quoting for tabs, quotes, and newlines. |
| JSON | Pretty print | Normal JSON value; line-oriented input becomes an array. |
| JSONL | No extra control | One compact JSON value per line. |
What happens when JSON becomes a table?
Tabular formats need a fixed set of columns while JSON can be nested and irregular. ConvertAnyFile builds the union of fields in first-seen order. Nested plain objects are flattened into paths such as customer.address.city. Arrays and other complex values are serialized as JSON strings instead of being discarded or exploded into unpredictable extra rows.
This is a format converter, not an ETL mapping tool. It does not join datasets, infer relational schemas, transform dates, guess numeric types, execute formulas, or apply custom business rules.
Use the exact format pair when the destination is specific.
Every route below uses the same tested data engine with a useful preset and pair-specific guidance. Popular routes receive stronger navigation prominence above; the complete list keeps specialist interchange paths crawlable and easy to find.
Why text conversion still has limits.
A 20 MB JSON or delimited file can occupy significantly more memory once decoded into JavaScript strings, arrays, objects, and generated output. The data engine therefore uses a smaller category policy than Image: 50 files maximum, 20 MB per file, 100 MB total input, and sequential conversion.
The production workflow supports UTF-8 text with an optional BOM. Other legacy character encodings are not guessed because incorrect decoding can silently corrupt names and values.
Data conversion questions
Answers about CSV and TSV headers, nested JSON, JSONL/NDJSON, UTF-8, output controls, batch limits, and local processing.
Which structured data files are supported?
The production data engine accepts CSV, TSV, JSON, JSONL, and NDJSON. NDJSON is treated as the JSON Lines input family. Files must contain valid UTF-8 text.
Which data formats can I convert to?
The current production outputs are CSV, TSV, JSON, and JSONL. They cover tabular exchange, normal structured JSON, and line-oriented JSON workflows without requiring a server upload.
How are CSV and TSV headers handled?
The first row is treated as the header. Empty headings receive generated names such as column_1, and duplicate headings are made unique so JSON objects do not silently overwrite fields.
Does CSV to JSON automatically convert numbers or dates?
No. CSV and TSV cell values remain strings. Avoiding type guessing protects identifiers, leading zeros, date-like text, and codes from silent changes.
How are nested JSON objects converted to CSV or TSV?
Nested plain objects are flattened with dot notation, for example profile.city. Literal dots and backslashes in source property names are escaped so they cannot collide with paths created from nested objects. Arrays and other complex values are serialized as JSON text inside a cell.
How are precision-sensitive JSON numbers handled?
ConvertAnyFile rejects unquoted JSON numbers that would be rounded by the browser, including integers outside the safe range and high-precision decimals or exponents that cannot round-trip without changing value. Exact identifiers, money values, or other precision-sensitive numbers should be represented as JSON strings before conversion.
What is the difference between JSONL and NDJSON here?
For conversion purposes they are aliases. Each non-empty line must contain one complete valid JSON value, and blank lines are ignored.
Can CSV fields contain commas, quotes, or line breaks?
Yes. The delimited-text parser supports quoted fields, escaped double quotes, delimiters inside quoted fields, and embedded CRLF or LF line breaks.
Why is there a UTF-8 BOM option for CSV and TSV?
Some spreadsheet workflows benefit from an explicit UTF-8 BOM for encoding detection. It is off by default because plain UTF-8 is the cleaner general-purpose output.
What are the data batch limits?
The data category allows up to 50 files, 20 MB per file, and 100 MB total input per batch. Structured text can expand substantially while parsing, so local processing still needs memory safeguards.
Are my CSV or JSON files uploaded?
No upload step is required for the current data converter. Validation, parsing, conversion, and serialization run in the browser session, with the heavier conversion work placed in a browser worker.