Private, local-first data tools

CSV to JSONL Converter

Turn each CSV record into one JSON object per line, or prepare chat-style training examples from prompt and completion columns. No file upload is required.

Processed in your browserNo account requiredEncoding and delimiter controlsIncomplete exports are blocked
JSON export options
Empty cells can be converted to null only when type inference is enabled.

Chat mode maps prompt to user, completion to assistant and optional system to system. Other columns are omitted. Content stays as text. Check the training platform’s schema and dataset limits separately.

Drop a file, paste data, load a CORS-enabled URL, or try the sample.
Rows0
Columns0
EncodingAuto
DelimiterAuto
Issue groups0

Open a data file to start

The parser runs off the main thread. Once loaded, you can search, sort, validate, repair and export without an account.

CSV to JSONL for fine-tuning: records versus chat messages

This synthetic support example shows why a valid JSONL file is not automatically a valid training dataset. The same CSV can produce flat records or nested chat messages. Choose the shape required by your training pipeline before exporting.

prompt,completion
What are your opening hours?,We open from 9am to 6pm.

Generic JSON Lines: keep column names as keys

{"prompt":"What are your opening hours?","completion":"We open from 9am to 6pm."}

Chat preset: build a messages array

{"messages":[{"role":"user","content":"What are your opening hours?"},{"role":"assistant","content":"We open from 9am to 6pm."}]}

Use the exact lowercase headers prompt and completion, with an optional system column. Chat mode uses only those three columns and omits others. Empty prompts or answers block export. Quotes and embedded newlines are JSON-escaped, so a conversation remains on one physical line rather than breaking the dataset.

Encoding, field types and export scope

Open the original file to decode UTF-8, Shift_JIS/CP932 or EUC-JP correctly. Output JSONL uses UTF-8. Generic mode offers type inference; chat content always remains text. Search and sorting affect the selected export view, so check whether you are saving matching rows or all rows. JSONL describes the output structure, not an unlimited-memory processing guarantee.

This preset creates single-turn text conversations. It does not generate multi-turn histories, tool calls or image training records. Check sensitive content, duplicates, evaluation-data leakage and the destination’s current requirements separately; conversion does not certify training readiness.

Export a JSON array instead · CSV → Parquet

What this tool does

CSV to JSONL Converter

The default output is UTF-8 JSONL with one object per CSV record and strings preserved. Chat mode builds a messages array from prompt and completion, with an optional system column.

How to use it

  1. Open the CSV and verify encoding, delimiter and headers.
  2. Choose JSON Lines or chat messages under JSON export options.
  3. Confirm the export row scope and download JSON Lines.

Common tasks

  • Convert CSV to newline-delimited JSON for ingestion pipelines.
  • Prepare prompt/response CSV examples as chat messages.
  • Preserve identifiers and escaped newlines in UTF-8 JSONL.

Privacy and local processing

Local files are read by a dedicated browser worker and are not uploaded to an application server. File contents and filenames are not included in analytics events. Loading a public URL is an explicit direct request from your browser and may fail when the remote server blocks CORS.

Supported edge cases

  • Chat mode requires exact prompt and completion headers and nonempty values in every row.
  • Only prompt, completion and optional system are mapped in chat mode. Platform-specific training validation remains necessary.

Frequently asked questions

Can I use the output as NDJSON?

The output contains one JSON object per line, the structure used for NDJSON ingestion. Check the destination’s extension and final-newline requirements.

Is the file ready for fine-tuning?

Generic JSONL preserves CSV column names; chat mode creates messages records. Neither guarantees acceptance by a training service. Validate its schema, example counts and content requirements before uploading.