AI Tools

JSONL Validator

Check OpenAI Batch API and fine-tuning files before you upload them. Find broken lines, repeated IDs, mixed models, and missing messages, with line numbers.

Check a JSONL file locally

Load example:
Runs locally in your browser. Files are checked on your device, not uploaded, saved, or shared.

Paste lines, or drop a .jsonl file here. Large files (up to 250 MB) are checked without loading them into the editor.

Result
Add a file to check it.
Ready when you are.

Watch: check a batch or fine-tuning file

No sound. Each step is captioned on screen and also written out in the guide below.

Check a file in three steps

  1. 01
    Add your file

    Drop a .jsonl file, open one, or paste lines. The file type is detected for you.

  2. 02
    Read the result

    See whether it's ready to upload, the most common problems, and every issue with its line number.

  3. 03
    Fix and upload

    Fix the lines in your script or editor. If only blank lines or line endings were wrong, download the cleaned file.

What it checks

  • Every file: valid JSON on every line, no blank lines, a byte-order mark, or Windows line endings.
  • Batch: unique custom_id, POST, a supported endpoint, one endpoint and model per file, 50,000 requests and 200 MB.
  • Fine-tuning: valid roles, an assistant reply in every example, valid tools, and at least 10 examples.
  • DPO: an input plus one preferred and one non-preferred assistant reply.

Frequently asked questions

Where do the rules come from?

From OpenAI's Batch, supervised fine-tuning, and DPO guides, read on 2 October 2026. Only documented rules are errors; anything else, like an unexpected field, is a warning so a valid file is never blocked on a guess.

Are my files uploaded?

No. The file is read and checked in your browser, in a background worker, and nothing is sent anywhere. That matters for training data, which is often private.

How large a file can it check?

Up to about 250 MB, which covers the Batch API's 200 MB limit. Large files are checked without loading them into the editor, and the page stays responsive.

Are the token numbers exact?

No, they're estimates (characters ÷ 4) to help you spot unusually long examples. For exact OpenAI counts, paste an example into the AI Token Counter.

What does "Download cleaned file" change?

Only structure: it removes a byte-order mark and blank lines, and uses Unix line endings. It's offered only when those are the only errors, and it never changes your data.