JSON Schema generator

Loading…

All tools › One document

JSON Schema generator

Works out a schema from example documents — the more, the better it fits.

It runs entirely in this browser tab: the documents you paste are never uploaded, and the tool makes no network request while it works. Open your browser's network panel and try it — nothing leaves the page.

Settings

Specification version
Choices: 2020-12, Draft 07, Draft 04.
Add the ranges seen
The lengths, bounds and repeated values the examples actually showed.
Indent
Choices: Two spaces, Four spaces, Tab, None.

How to use it

  1. Paste your text into the box above, or open a file.
  2. Adjust the settings beside it until the result is what you wanted.
  3. Copy the result, or save it as a file. The result updates as you type.

Questions

Is what I paste uploaded anywhere?
No. The whole tool is carried as WebAssembly and runs on your own device. That is the point of the group: the files these tools are for are exactly the ones you would not paste into somebody else's server.
How big a file can it take?
About a megabyte, and it says so rather than truncating quietly. Past that you are handing it a database rather than a document, and the input here is a text area — the editing view is capped at forty thousand characters and says so, though the tool still reads all of what you gave it.
Why does it say it guessed?
Because it did. Which format a document is, which delimiter a table uses and whether the first row is a header are all decided by looking at the text. Each guess is right almost always and each is printed on the result, because a converter that guessed silently and got it wrong would eat a file.
Does it change my numbers?
No. A number keeps the text it was written as, all the way through: `1.0` stays `1.0` and a thirty-digit identifier stays thirty digits. Nothing here is ever a floating-point value, which is why a sorted document differs from the original only where you asked it to.

Other tools for one document

JSON diff
Compares two documents by what they mean, not by how they are written.

Flatten JSON
A nested document as one path a line, and back again.

Sort JSON keys
Puts the keys in order so that two versions can be compared.

JSON string escape
A text as a JSON string, and back — however many times it was escaped.

All thirty-five tools