JSONL Schema Validator
JSONL Schema validator. Check every record in a JSONL (JSON Lines) file against a JSON Schema you supply. Reports each failing line with its JSON pointer and the rule it broke. Up to 1 GB, runs in your browser.
Validate
Before you start
You need two things: a JSON Schema (Draft-07 or later, paste it into the schema pane) and a JSONL data file. The validator runs every record through the schema and reports each violation with its JSON pointer.
How to use it
- Paste your JSON Schema into the left pane.
- Paste or drop your JSONL data on the right.
- Click Validate.
- Read the error list — each entry says which line failed, which JSON pointer (e.g.
/emailor/items[2]/sku), and the rule it broke. - Click Download passing rows if you want to keep only the records that satisfy the schema.
Supported keywords
- type:
object, array, string, integer, number, boolean, null; supports union types as arrays. - required: list of required keys on an object.
- properties + additionalProperties: false for strict objects.
- items for array element validation.
- enum, const for fixed-value checks.
- pattern (regex) on strings.
- minLength / maxLength on strings.
- minimum / maximum on numbers.
- minItems / maxItems on arrays.
- format: "email" for a quick email check.
Complex features like $ref, oneOf, anyOf compositions aren't supported here — use a full validator like Ajv for those.
Example
Schema:
{
"type": "object",
"required": ["id", "email"],
"properties": {
"id": { "type": "integer" },
"email": { "type": "string", "format": "email" },
"age": { "type": "integer", "minimum": 0 }
},
"additionalProperties": false
}
Data:
{"id": 1, "email": "[email protected]", "age": 33}
{"id": 2, "email": "not-an-email"}
{"id": 3, "email": "[email protected]", "extra": true}
Reports: line 2 — /email not a valid email; line 3 — /extra additional property not allowed.
Tips & common pitfalls
- Need a schema? Run your file through the Schema inferrer first — it generates a starter Draft-07 schema you can tighten up.
- "additionalProperties: false" is strict. Without it, extra keys are tolerated. Enable it only if your downstream system is strict too.
- Use this in CI conceptually. A failing schema check before you train an AI model can save hours of wasted compute.
Frequently asked questions
Which JSON Schema draft do you support?
The most-common Draft-07 features. Draft 2020-12 keywords like prefixItems aren't supported — use Ajv or a server-side validator for those.
What about $ref?
Not supported. Inline your refs first, or use Ajv.
Is my schema or data uploaded?
No. Both stay in your browser tab.