JSON to JSON Schema.
Infer a JSON Schema (draft 2020-12) from any JSON document — types, required fields and string formats detected automatically, nothing uploaded.
Local · No upload · No size limit on opening · Apache-2.0
Pandia infers a JSON Schema (draft 2020-12) from a sample document. It walks the data, assigns a type to every field, lists non-null keys under required, and detects string formats like date, date-time, email and uri — a schema you can validate against straight away.
Example
Input JSON:
{
"id": 42,
"name": "Ada",
"active": true,
"tags": ["admin", "early"]
} JSON Schema output:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://example.com/root.schema.json",
"title": "Root",
"type": "object",
"properties": {
"id": { "type": "integer" },
"name": { "type": "string" },
"active": { "type": "boolean" },
"tags": { "type": "array", "items": { "type": "string" } }
},
"required": ["id", "name", "active", "tags"]
} What you get
- Draft 2020-12 schema with
$schema,$idandtitle. - Every property typed; non-null keys collected into
required. - String formats (
date,date-time,email,uri) auto-detected. - Nested objects and arrays produce nested schemas.
It’s the same engine behind Pandia’s type generation — opinionated, deterministic, and built to run on files far too large for an online converter.
Frequently asked questions
How do I generate a JSON Schema from JSON?
Open the Types panel in Pandia, choose JSON Schema, and copy the inferred draft 2020-12 schema.
Which draft does it target?
Draft 2020-12. The output includes the $schema keyword so validators know which dialect to use.
Does it run locally, and is there a size limit?
Schema inference runs on your machine with nothing uploaded. Because it materializes the whole document, it targets files up to Pandia’s ~200 MB whole-document ceiling — larger files still open and browse without limit.
Stop fighting your JSON.
Download the native app, open your biggest file, and get to work. Free, offline, and open source.