Data · Batch

Bulk JSON Schema Validator

Paste one JSON Schema and several JSON documents, and validate every document against it in a single pass — completely free. No signup, no per-document limit, nothing uploaded.

JSON Schema

One schema, checked against every document below. Supports type, required, properties, items, enum, minimum/maximum, minLength/maxLength, pattern, minItems/maxItems, uniqueItems, minProperties/maxProperties, additionalProperties, and format (email, uri, date, date-time).

Documents to validate

Paste one or more JSON documents. Separate multiple documents with a line containing just -----. Optionally start a document's block with ### name to label it in the results.

What this checks — and what it doesn't

This validator covers the JSON Schema keywords developers reach for most often: type, required, properties, items, enum, numeric ranges (minimum/maximum/exclusiveMinimum/exclusiveMaximum), string length and pattern, array length and uniqueItems, object size limits, additionalProperties, and basic format checks (email, uri, date, date-time). It does not implement $ref, allOf/anyOf/oneOf/not, or schema composition — for those, a full library like Ajv is the right tool. This covers the schemas most API contracts, config files, and data imports actually use. For how this differs from a plain syntax check, see this post.

Why bulk matters here specifically

Validating one document against a schema takes seconds anywhere. The bulk case shows up when you're checking a batch export against a contract before importing it, confirming every item in a seed-data file matches the shape your app expects, or spot-checking API responses collected during testing — situations where reading each result one at a time is the actual bottleneck, not the validation itself. See this post for how an API's response shape can quietly change without a single request ever failing.

FAQ

Is there a limit on how many documents I can validate?

No hard cap enforced by this tool — paste as many document blocks as you need. Everything runs synchronously in your browser, so a very large batch may take a moment to render, but there's no per-document limit or paid tier gating batch validation.

What happens if my schema itself is invalid JSON?

The tool reports that immediately instead of trying to validate documents against a broken schema — fix the schema first, since every document's result would otherwise be meaningless.

Does this support $ref for reusing sub-schemas?

Not currently. $ref, allOf, anyOf, oneOf, and not require a resolution step this tool doesn't implement — schemas using them will be checked keyword-by-keyword on the top-level structure, but referenced sub-schemas won't be resolved. Keep schemas flat (no $ref) for accurate results.

What does format: "email" actually check?

A basic structural check (something@something.something) — not a full RFC 5321 mailbox validation and not a live deliverability check. It catches obviously malformed values, not every edge case a mail server would reject.