Batch API JSONL Validator and Splitter
Paste JSONL or open a local file. Check request structure and duplicate IDs, then download an error report or ordered split files.
Run a local check in your browser. No account or upload to a server is needed.
How it works
Each nonblank line is parsed separately. The checker compares IDs, POST methods, URLs and explicit model names. It checks selected required body fields, not every endpoint parameter. A passing preflight does not establish model availability, valid asset references or account quota.
The splitter preserves request order and starts a new file before either user-selected limit would be exceeded. It counts UTF-8 bytes including a final newline. Counts are exact integers; no rounding is used.
The local safety limit is 1,000,000 bytes and 10,000 lines, with at most 256 split files and 1,000 findings. These are smaller than the documented API file limits of 200 MB and 50,000 requests. Embedding batches also have a 50,000-input limit. Each embedding request accepts nonempty text, an integer token vector, a homogeneous string array, or an array of integer vectors; arrays contain at most 2,048 items.
Worked examples
Three requests split into two files
Three valid requests with distinct IDs and a two-request split limit produce 2 files, containing 2 and 1 requests.
A repeated request identifier
Two otherwise valid lines with the same custom_id produce 1 duplicate-ID error on line 2. Splitting is blocked until the error is fixed.
Frequently asked questions
Which endpoints are supported?
Are my requests uploaded?
Can I validate a 200 MB file?
Does splitting fix duplicate custom IDs?
What is not checked?
Sources
- OpenAI Batch guide — file preparation and limits (checked 2026-11-14)
- OpenAI Create batch — endpoint enum (checked 2026-11-14)
- JSON Lines format (checked 2026-11-14)
- OpenAI embeddings input (checked 2026-11-14)
- OpenAI chat completion fields (checked 2026-11-14)
- OpenAI completion fields (checked 2026-11-14)
- OpenAI image edit fields (checked 2026-11-14)
Last reviewed 2026-11-14; next review due by 2027-02-12. The method is written out above so you can check our math.