Build a valid fine-tuning file in seconds
OpenAI’s chat fine-tuning endpoint expects a precise JSONL shape: one JSON object
per line, each containing a messages array with system, user, and
assistant roles. Getting a single line wrong fails the whole upload. This tool
takes your raw prompt/completion pairs or chat turns and produces exactly that
schema, validating roles and example counts before you submit.
How it works
Choose your input mode. In pair mode, paste one example per line with the
prompt and completion separated by a tab or a pipe (|); the tool maps the
prompt to a user message and the completion to an assistant message. In
structured mode, paste JSON arrays of messages you have already shaped. You
can supply one system prompt that is prepended to every example. The tool emits
valid JSONL and runs validation: it confirms each example ends with an assistant
turn, checks that roles are recognized, and warns if you have fewer than the
ten-example minimum.
Tips and notes
Keep your system prompt identical to what you will use at inference — the model learns the behavior in the context of that instruction. Aim well above the minimum count; fifty to a few hundred clean, consistent examples beat thousands of noisy ones. Everything runs locally in your browser, so proprietary data is safe. After copying the JSONL, you can upload it directly with the Files API and reference the file ID when creating a fine-tuning job.