JSONL Validator & Converter
Check JSON Lines files for fine-tuning and batch jobs before you upload them: every line is parsed and validated against the format you pick, with token counts. Convert JSON arrays and CSV into JSONL.
Frequently Asked Questions
What is JSONL?
JSON Lines (also NDJSON): one complete JSON value per line, separated by newlines, with no enclosing array or trailing commas. It is the input format for OpenAI fine-tuning, the OpenAI Batch API and Anthropic Message Batches.
What does the fine-tuning check look for?
Each line must be an object with a "messages" array of {role, content} messages using system, developer, user, assistant or tool roles, with at least one assistant reply. It also flags empty content, unknown roles or keys, consecutive turns from the same role, and conversations that don't end with the assistant.
What do the batch checks verify?
OpenAI: custom_id is unique, method is POST, url is a supported endpoint and body is an object. Anthropic: custom_id is unique and 1–64 characters of letters, digits, _ or -, and params has model, max_tokens and messages that start with a user turn.
Are token counts exact?
With "Exact OpenAI tokens" checked, message text is counted with the real o200k_base tokenizer (chat-format overhead adds a few tokens per message). Otherwise counts are a characters ÷ 4 estimate.
Is my dataset uploaded?
No. Files are read and validated in your browser, which matters for private training data.