Private data converter

Convert structured data locally.

Convert CSV, TSV, JSON, JSONL and NDJSON without sending the source files to a conversion server. Original data files stay unchanged on your device.

Local converterData Converter
Loads when you add files
5 input extensionsCSV, TSV, JSON, JSONL, and NDJSON.
4 outputsCSV, TSV, JSON, and JSONL with deterministic rules.
Batch safetyUp to 50 files, 20 MB per file, and 100 MB total input.
Local workerParsing and serialization run in your browser, not an upload queue.
Structured data without the upload queue

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.

Predictable by design

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.
Output controls

Only show settings that change the data representation.

The shared converter UI now renders controls declared by each engine. That means Data can expose structured-text options without adding data-specific logic to the batch queue, and future categories can declare their own settings the same way.

OutputControlsBehavior
CSVHeader row, LF/CRLF, UTF-8 BOMComma-delimited with RFC-style quoting when a value needs it.
TSVHeader row, LF/CRLF, UTF-8 BOMTab-delimited with safe quoting for tabs, quotes, and newlines.
JSONPretty printNormal JSON value; line-oriented input becomes an array.
JSONLNo extra controlOne compact JSON value per line.
Schema rules

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.

What it does not do

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.

Popular data conversions

Open the exact format pair you need.

Each pair route uses this same data engine and shared queue with a useful preset and pair-specific explanation. The routes are real conversion pages, not placeholder SEO pages.

Browser safety

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.

UTF-8 contract

The first production release intentionally supports UTF-8 text with an optional BOM. Other legacy character encodings are not guessed because incorrect decoding can silently corrupt names and values.

FAQ

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.