What it is
SchemaStash keeps a personal library of JSON Schemas in your browser and puts the everyday jobs around them on one site: checking a schema while you edit it, validating data, inferring a schema from samples, generating TypeScript types, Zod validators, mock data and readable documentation.
How it works
Everything runs on your device. The pages are static files; once they have loaded, the tools work without a network connection. Your stash is saved in this browser’s storage (IndexedDB, or localStorage as a fallback) and is never uploaded. Share links carry the schema inside the link itself, after the #, which browsers do not send to the server. Page views are counted with Cloudflare Web Analytics, which uses no cookies and never sees what you put into the tools; see the privacy page.
Validation uses the open-source @cfworker/json-schema library, which supports Drafts 4, 7, 2019-09 and 2020-12 without generating code at runtime. The editors are built with CodeMirror. The schema inference, the TypeScript and Zod converters, the mock data generator and the documentation renderer are written for this site.
Limits worth knowing
- Remote
$refURLs are never fetched. References inside the schema, including$anchornames and embedded$idresources, work. - The converters cover the common keywords; constraints with no equivalent are skipped and listed under the output.
- The stash lives in one browser. Use Export and Import to move it, or to keep a backup.
The tools
- JSON to JSON SchemaInfer a schema from one or more samples, with formats and required fields.02
- ValidatorCheck data against a schema; click an error to jump to it.03
- Schema to TypeScriptInterfaces and types with named $defs, unions and tuples.04
- Schema to ZodRuntime validators for Zod 3 and 4, formats and limits included.05
- Mock dataRealistic, repeatable sample JSON that passes your schema.06
- Schema docsReadable property tables with a Markdown export.07