How to generate a JSON Schema from JSON
- Paste a representative JSON sample into the editor.
- Open the Code tab and choose JSON Schema.
- Copy the schema, or open the Schema tab to validate your data against it.
What the generator infers
Strings, numbers, integers, booleans and null map to their JSON Schema types. Objects become type object with properties; a key is listed as required only if it appears in every object seen. Arrays get an items schema merged from all elements, and mixed value types become a type list or anyOf.
Make the schema stricter
A schema inferred from one sample describes that sample, not your intent. Add constraints by hand: minimum and maximum for numbers, enum for fixed sets, pattern or format for strings, and additionalProperties set to false to reject unknown keys.
What is JSON?
JSON (JavaScript Object Notation) is a lightweight, text-based data format that is easy for people to read and for machines to parse. It is the de facto standard for web APIs, configuration files and data exchange between services. A JSON document is built from just six value types: objects, arrays, strings, numbers, booleans and null.
{
"name": "Ada",
"age": 36,
"admin": true,
"skills": ["math", "code"],
"address": { "city": "London" },
"manager": null
}JSON is stricter than JavaScript object literals: keys and strings must use double quotes, trailing commas are not allowed and comments are not part of the specification (RFC 8259).
Why format JSON?
APIs usually return minified JSON on a single line, which is efficient for machines but unreadable for people. Formatting (also called pretty printing or beautifying) adds consistent indentation and line breaks so that you can scan the structure, spot mistakes and review changes. Minifying does the opposite and strips whitespace to reduce size.
Frequently asked questions
Which draft does the output use?
Draft 2020-12, declared with the $schema keyword. The keywords used (type, properties, required, items, anyOf) work in older drafts too.
Is my JSON uploaded to a server?
No. Parsing, validation, formatting, diffing and code generation all run inside your browser, using a Web Worker. Your data is never sent to any server, which makes the tool safe for API responses, configuration files and other sensitive payloads.
Does it work offline?
Yes, after the first visit. The editor and tools are stored in your browser, so you can use them without a connection. Only the TypeScript, CSS and HTML language workers used for extra highlighting in the Code tab are downloaded the first time you use them.
How large a JSON file can I open?
Files of 20 MB and more work. Parsing happens off the main thread and the tree view is virtualized, so only the rows you can see are rendered. The editor switches to a lighter mode for very large documents.
What is the difference between formatting and minifying JSON?
Formatting (pretty printing) adds line breaks and indentation so people can read the data. Minifying removes all optional whitespace to make the payload as small as possible for network transfer or storage. Both produce identical data.
Fix common JSON errors
- Unexpected token '<' in JSON at position 0
- Unexpected end of JSON input
- Expected property name or '}' in JSON
- Trailing comma in JSON
- Expected ',' or '}' after property value in JSON
- "undefined" is not valid JSON
- Bad control character in string literal in JSON
- Unexpected non-whitespace character after JSON
- Unexpected token 'N' or an invisible character in JSON
JSON examples to try
- Simple JSON Example
- JSON Array Example
- Nested JSON Example
- User Profile JSON Example
- Paginated API Response JSON Example
- Product Catalog JSON Example
- Order and Invoice JSON Example
- Blog Posts JSON Example
- package.json Example
- GeoJSON Example
- Application Config JSON Example
- Weather API JSON Example
Cheat sheets
More JSON tools
- JSON Viewer Online
- JSON Validator
- JSON to TypeScript
- JSON to Go Struct
- JSON to Python (Pydantic)
- JSON Diff
- JSON Minifier
- JSON Pretty Print
- JSON to YAML
- JSON to CSV
- JSON to XML
- Large JSON Viewer
- JSON Tree Viewer
- JSON File Viewer
- JSON Sorter
- JSON to Zod
- JSON to Rust
- JSON to Java
- JSON Schema Validator
- JSONPath Tester
- JSON Path Finder