JSON Schema Validator
Runs entirely in your browser. Your files and data never leave your device.
About this tool
Paste a JSON Schema on one side and a JSON document on the other to check the data against the schema. Every failure lists the exact path into the document and the rule it broke, whether that’s a missing required field, a wrong type, or a bad format like an email address.
What exactly does it check, and how are errors reported?
The tool validates your document against every rule in the schema at once rather than stopping at the first failure, so you get the full list of problems in one pass. Each entry names the path into the document using a JSON Pointer, such as /users/0/email, the keyword that failed (required, type, format, and so on), and Ajv’s message describing what went wrong. Where possible, it also points at the line number in your pasted JSON so you can jump straight to the offending value instead of counting brackets. Format checks, like verifying a string is a valid email address, date, or URL, are powered by the ajv-formats package.
Before validating, both the schema and the document are parsed as JSON, and any syntax error is reported with its own line number rather than a generic failure. If the schema itself is malformed in a way Ajv can’t compile, such as referencing an unsupported keyword, that shows up as a separate compile error too.
Which JSON Schema draft does it support?
The tool reads the schema’s $schema field and switches its validator accordingly: schemas that declare Draft 2020-12 get compiled with Ajv’s 2020 build, and anything else, including the older Draft-07 style, falls back to standard Ajv. That means you can paste either style of schema without picking a mode by hand. See json-schema.org for the full specification and how the drafts differ.
Does my schema or data get sent anywhere?
No. Validation runs entirely in your browser using Ajv, a widely used JSON Schema validator, and neither the schema nor the document you paste is transmitted anywhere. That matters when you’re checking config files, API payloads, or test fixtures that contain real user data, credentials, or other fields you’d rather not send to a server.
Reach for this tool when you’re writing a schema for an API contract, debugging why a payload fails validation in CI, or double-checking a config file before deploying it.