Skip to content
Run here 100% in your browser, no upload, no login

JSON Schema Validator

Check JSON data against a schema subset, with every error carrying the path where it happened.

Supported: type, required, properties, items, enum, minimum, maximum, minLength, maxLength, pattern, additionalProperties.

Fill in both panels, then validate.

How to use it

  1. Paste the JSON data on the left and the JSON Schema on the right.
  2. Click Validate. Every problem is listed with the path where it was found, for example $.tags[1] or $.user.email.
  3. Read the message next to each path. Type mismatches, missing required keys, out-of-range numbers, strings that fail a pattern and disallowed extra keys are all reported separately.
  4. When nothing fails, you get a single confirmation line and a problem count of zero.

The supported subset covers type, required, properties, items, enum, minimum, maximum, exclusiveMinimum, exclusiveMaximum, minLength, maxLength, pattern and additionalProperties. A boolean schema (true or false) is accepted anywhere a schema is expected.

Common use cases

Why it stays private

Both documents are parsed and checked in your browser. Nothing is uploaded, so payloads with personal data, tokens or internal schemas stay on your device.

FAQ

Q: What happens with keywords you do not support? A: They are reported as a problem that names the keyword and states that the result is not conclusive. The validator never silently passes a rule it did not actually check.

Q: Why is $ref not supported? A: Resolving references needs a full document loader and pointer resolution. Rather than pretend a reference was checked, this tool tells you the keyword is out of scope so you can validate those parts elsewhere.

Q: Does it validate formats like email or date-time? A: No. Use the pattern keyword when you need a format check this tool can actually enforce.

Your data stays on this device

JSON Schema Validator runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.

Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.