Fine-tuning JSONL Builder

Turn a spreadsheet of prompts and answers, a JSON export or an existing chat dataset into training-ready JSONL. Pick the provider format, add a system prompt, and get a validation report.

Examples (JSON, JSONL or CSV)
Press Ctrl + Enter to build
Training JSONL

How it works

  1. Load examplesPaste JSON, JSONL or CSV. Common column names such as question/answer or prompt/completion are detected automatically.
  2. NormalizeEvery record becomes a conversation: an optional system prompt, then user and assistant turns.
  3. ValidateRecords with a missing prompt or answer, or that do not end with an assistant turn, are skipped and listed. Exact duplicates are removed.
  4. ExportDownload a .jsonl file in the format your provider or training framework expects.

Supported formats

// OpenAI chat fine-tuning
{"messages": [{"role": "system", "content": "โ€ฆ"}, {"role": "user", "content": "โ€ฆ"}, {"role": "assistant", "content": "โ€ฆ"}]}

// Claude on Amazon Bedrock
{"system": "โ€ฆ", "messages": [{"role": "user", "content": "โ€ฆ"}, {"role": "assistant", "content": "โ€ฆ"}]}

// Gemini on Vertex AI
{"systemInstruction": {"parts": [{"text": "โ€ฆ"}]}, "contents": [{"role": "user", "parts": [{"text": "โ€ฆ"}]}, {"role": "model", "parts": [{"text": "โ€ฆ"}]}]}

// Alpaca
{"instruction": "โ€ฆ", "input": "", "output": "โ€ฆ"}

// ShareGPT
{"conversations": [{"from": "human", "value": "โ€ฆ"}, {"from": "gpt", "value": "โ€ฆ"}]}

Input in any of these formats is recognized, so the tool also converts datasets between providers. Alpaca holds a single exchange, so multi-turn conversations are skipped for that format and reported.

Tips for a better dataset

  • Quality beats quantity. A few hundred consistent, carefully reviewed examples usually beat thousands of noisy ones.
  • Keep the system prompt identical in training and production, since the model learns to respond to it.
  • Hold back 10 to 20 percent of examples as a validation file so you can spot overfitting.
  • Check each provider's current limits on example count, example length and total tokens before uploading. OpenAI requires at least 10 examples.
  • Remove secrets and personal data. Use the LLM Token Counter to estimate training size.

Frequently asked questions

Which columns are used as the prompt and the answer?

Unless you type field names, the first match is used. Prompt: prompt, question, input, query, instruction, user, text or q. Response: completion, response, answer, output, assistant, reply, target or a. A system or system_prompt column overrides the default system prompt for that record.

Why was a record skipped?

Records are skipped when the prompt or response is missing or empty, when a conversation does not start with a user turn or end with an assistant turn, or when a multi-turn conversation is exported to Alpaca. The report lists the record number and reason for the first few.

Does the tool check provider limits?

It checks structure and reports counts and approximate token sizes. Limits on example length, number of examples and total tokens change often and differ per model, so confirm them in your provider's documentation before starting a job.

Is my training data uploaded?

No. Parsing, validation and conversion all happen in your browser. Your data only leaves your machine when you upload the file to a provider yourself.

Related AI tools