CSV to JSONL Converter

🔒 Processed 100% in your browser — nothing is uploaded

About this tool

Fine-tuning datasets live in JSONL files — one JSON object per line — but the raw material usually arrives as a spreadsheet export. CSV to JSONL bridges that gap without sending your training data anywhere. Paste CSV content or load the built-in example, pick a header row, and map your columns to the output shape you need: a classic prompt/completion pair for completion-style fine-tunes, or a messages array with system, user and assistant roles for chat models. The converter handles quoted fields, embedded commas and newlines correctly, escapes control characters, and emits one compact JSON object per data row. You can preview the first lines before downloading the full .jsonl file. Because the conversion is pure client-side JavaScript, proprietary conversation logs or customer examples never leave your machine — an important property when training data is exactly the thing you are not allowed to leak. It is equally handy for building evaluation sets, batch API input files, or any pipeline that consumes newline-delimited JSON.

How to use CSV to JSONL Converter

  1. Paste your CSV into the input box or press Load sample to see the expected format.
  2. Check that the detected columns match your header row.
  3. Choose the output format: prompt/completion or chat messages, and assign columns.
  4. Press Convert, preview the JSONL, then download the .jsonl file.

Frequently asked questions

What CSV dialects are supported?

Standard RFC 4180 CSV: comma-separated, double-quoted fields, escaped quotes, and embedded newlines inside quotes.

Can I build chat-format training data?

Yes. Map columns to system, user and assistant roles and the tool emits a messages array per line, ready for chat fine-tuning.

Is there a row limit?

There is no hard limit; tens of thousands of rows convert comfortably since everything runs locally in your browser.

Does my data leave my computer?

No. All parsing and conversion happens in the browser. Nothing is uploaded or logged.