03 Validate

JSON Schema validator

Check JSON data against a schema as you type. Every error shows where it is in the data and which rule failed. Click it to jump straight there.

Code editor. Press Escape, then Tab, to move focus out of the editor.

    Drop a .json file on either panel to load it.

    Loading…

      How to use the validator

      1. Paste your schema on the left. You can also open a file, drop one on the panel, or pick a schema from your stash.
      2. Paste the JSON you want to check on the right. Validation runs as you type.
      3. Read the result under the editors. Click an error to select the failing value in the data and the rule in the schema.

      What the options do

      Draft
      Auto reads the $schema keyword and falls back to Draft 2020-12 when there is none. Pick a draft to override it, for example to see how an older Draft 4 schema behaves. Draft 6 schemas are checked with Draft 7 rules.
      Show every validator message
      By default, wrapper messages such as “Property does not match schema” are folded into the specific failure underneath, and branches of anyOf/oneOf are listed under their parent. Turn this on to see the validator’s raw output.
      Save to stash
      Keeps the schema in this browser so you can reuse it in the converters, the mock data generator and the docs tool.

      FAQ

      Is my data uploaded anywhere?

      No. Validation runs in your browser with the open-source @cfworker/json-schema library. Nothing you paste is sent to a server.

      Are formats such as email and date-time checked?

      Yes. Common formats such as date, time, date-time, email, hostname, ipv4, ipv6, uri and uuid are validated. Formats the validator does not know are ignored, as the specification allows.

      Can it follow $ref to other files?

      References inside the schema work: #/$defs/…, #/definitions/…, $anchor names and embedded $id resources. Remote URLs are not downloaded, so a $ref to another server is reported as unresolved.