JSON Schema Generator
Turn a document you already have into a JSON Schema that describes it, and see which keys the sample says are optional.
Input
Syntax colouring is off for this document because recolouring something this large on every keystroke would slow typing down. Every tool still works normally.
Output
Syntax colouring is off for this document because recolouring something this large on every keystroke would slow typing down. Every tool still works normally.
The result appears here.
Runs entirely in your browser. Nothing you paste is uploaded, and you can confirm that in your browser Network tab.
About this tool
A schema generated from a sample is a description of what was in the sample, not a specification, and this page treats it that way. An array is read as a list of records and every element is merged into one description, so a key missing from any record comes back as not required rather than quietly required. A field that is a whole number everywhere is called an integer, and one fraction anywhere makes it a number. A string format is only claimed when every string in that position matched the same pattern, which is what stops one lucky value from turning a free text field into a date. Two genuinely different types in one position become a type array. What this cannot do is know about the records you did not paste, so read the output as a starting point and widen it where your data is looser than your sample.
How to use
- Paste a document, or several records in an array, into the input pane.
- Choose the draft, and whether to detect string formats and mark required keys.
- Copy the schema or download it as a file.