Json Web Viewer
All tools

JSON Schema Generator — generate and validate a JSON Schema online

Need a JSON Schema for a document you already have, or need to check whether a document actually matches one you've got? Do both in the same place, entirely in your browser.

Most free schema tools only go one direction: paste JSON, get a schema, and you're on your own from there. Json Web Viewer's Generate Schema (in the toolbar's More ⋯ menu) infers a JSON Schema from whatever document is in the panel and opens it in the other panel, ready to edit. Its counterpart, Validate Schema, then checks any document against that schema — or one you paste in yourself — and lists every place it fails, with a clear line drawn between "this isn't valid JSON" and "this is valid JSON that doesn't match the schema."

Nothing is uploaded either way — generation and validation both run entirely client-side.

Example — this JSON:

{
  "id": 1,
  "name": "Ada Lovelace",
  "age": 36,
  "active": true,
  "tags": ["engineer", "mathematician"]
}

generates a schema requiring an integer id, string name, and an array of strings for tags — open the example below and click Generate Schema to see the real output.

Open this example in the editor →
The link above pre-loads the person example above into Text mode in the left panel. Open the More ⋯ menu in the toolbar and choose Generate Schema to infer a schema into the right panel, or paste a schema of your own and choose Validate Schema… to check this document against it.

Frequently asked questions

Does generating or validating a schema upload my JSON anywhere?

No. Both schema generation and schema validation run entirely in your browser — your document and any schema you paste never leave the page.

Can I both generate a schema AND check a document against it here?

Yes — that's the point of this page over a generator-only tool. Generate Schema infers a JSON Schema from your document into the other panel; Validate Schema then checks any document against that schema (or one you paste yourself) and lists exactly which parts fail and why.

Which JSON Schema draft does validation use?

Draft-07 and 2020-12, whichever the schema's own "$schema" field declares (defaulting to draft-07 if it's absent).

Want a language type instead of a formal schema? See JSON to TypeScript (also generates Go and Rust).