Load input and convert automatically
Drop a JSONL, NDJSON, CSV, TSV, or TXT file, choose browse files, or paste text. The converter detects whether the input is JSONL or tabular text and opens the matching workspace automatically. The file is parsed and converted locally in your browser and is not uploaded.
Converting JSONL to CSV
- Load JSONL with browse files, drag and drop, or paste text. Each nonblank line is parsed independently; blank lines are skipped.
- Review warnings. Malformed lines are counted and excluded. The interface lists line details for the first 30 malformed or non-object lines, then summarizes any additional items. Valid strings, numbers, arrays, and
nullvalues are skipped because CSV output uses JSON objects as records. - Choose Nested-value policy. Use JSON-stringify nested values for JSON text in top-level cells, Flatten to dotted-path columns for expanded paths, or Selected-path columns to enter specific paths in Dotted paths (comma-separated).
- Use the column list to include, exclude, and reorder fields. Fields are discovered across valid object records in first-seen order. Missing keys and
nullvalues appear as empty CSV cells. - Choose Comma (,), Tab, or Semicolon (;), then choose whether to Include header row.
- Review the automatically generated CSV result, then select Download CSV.
Converting CSV to JSONL
- Load CSV or TSV with browse files, drag and drop, or paste text.
- Set Delimiter to Comma (,), Tab, or Semicolon (;). Under Header row, choose First row is a header or No header row (use column_1, column_2, ...).
- Under Type inference, choose Infer numbers & booleans or Keep everything as strings. Enter an exact value in Null marker (exact text) if needed, and optionally select Treat empty field as null.
- Choose a Duplicate column rule: Auto-rename with suffix, Keep first occurrence's value, Keep last occurrence's value, or Error - block export.
- Review the automatically generated JSONL result, then select Download JSONL.
Review previews, warnings, and limits
- The JSONL-to-CSV table shows up to 200 valid object records. The CSV-to-JSONL preview shows up to 50 output lines, and its schema type summary examines up to 500 converted records.
- If a whole-document JSON array is detected, use the CSV JSON Converter; an array is not JSONL. For streamed files, this array check only examines accumulated text below the
2 MBarray-check cap, so larger input may not receive that specific warning. - Files at least
4 MBare read in chunks when the browser supports file streaming. Parsed records or rows are still retained in memory for the preview and export. - The CSV parser explicitly reports an unterminated quoted field. The implementation does not establish comprehensive validation or individual reporting for every possible malformed CSV row.
- If Error - block export is selected for duplicate columns, fix the duplicate names or choose another rule before exporting.
Privacy & Security
Your file is never uploaded. Parsing and the converted file are generated locally in your browser.
Frequently Asked Questions
Can I convert a JSON array of objects with this tool?
No - that's a single JSON document, not JSONL. When detected, the tool points you to the CSV JSON Converter, which is intended for whole-document JSON. For streamed files, detection is limited to accumulated text below the 2 MB array-check cap.
What counts as a malformed JSONL line?
Any nonblank line whose content doesn't parse as valid JSON on its own - for example, a trailing comma, an unquoted key, or a truncated value. Malformed lines are counted and excluded from the CSV. Details are listed for the first 30 lines, followed by a count of additional malformed lines.
What if two different nested paths flatten to the same column name?
The Flatten policy warns you with the exact colliding dotted-path names. The warning is based on collisions within an individual object, and the implementation does not establish a single overwrite result to rely on for the exported value. Review the preview, or use JSON-stringify or Selected-path columns when the distinction matters.
Is there a file size limit?
The implementation does not define a single file-size limit. Files at least 4 MB are read in chunks when supported, but parsed records or rows remain in memory for preview and export. Previews are capped at 200 JSONL-to-CSV records and 50 CSV-to-JSONL lines; the schema summary examines up to 500 converted records.