Specification
Specification Links
You can find the latest released draft on the Specification page. The complex numbering and naming system for drafts and meta-schemas is fully explained here as well.
Understanding draft names and numbers
IETF Internet-Drafts (I-Ds) are named with the editor's name and a sequential number which resets with each new editor. Meta-schemas were more-or-less numbered sequentially up through Draft 7, but the increasingly confusing mismatch between "draft-nn" versions on the meta-schemas and the IETF documents has made that unsustainable. The practice of fixing meta-schema bugs in place to preserve the sequential numbering has also been controversial.
Starting with what had been called "Draft 8" while it was being written, meta-schemas are identified by the year and month of publication. This allows for bug fixes to be published with new URIs (as long as it is not more than once a month).
Table of All Versions of Everything
For links to the somewhat more readably formatted versions on this web site, and for links to the various meta-schemas and other supplemental documents, see the the following sections.
Published Drafts
2020-12
- Specifications
- Core: draft-bhutton-json-schema-01 (changes)
- Validation: draft-bhutton-json-schema-validation-01 (changes)
- Relative JSON Pointer: draft-bhutton-relative-json-pointer-00 (changes)
- Published: 16-June-2022
- General use meta-schemas
- JSON Schema meta-schema
- JSON Hyper-Schema meta-schema (2019-09 Hyper-Schema with 2020-12 Validation)
- JSON Hyper-Schema Link Description Object meta-schema
- Individual vocabulary meta-schemas
- Output schemas
- Output examples
Obsolete Draft 2020-12 Documents
These were updated without changing functionality or meta-schemas due to a few errors and unclear sections.
- Core: draft-bhutton-json-schema-00 (changes)
- Validation: draft-bhutton-json-schema-validation-00 (changes)
Draft 2019-09 (formerly known as Draft 8)
NOTE: All meta-schema URIs now use https://
. While currently also available over plain HTTP due to the limitations of GitHub pages and the need to keep prior drafts available over HTTP, only the HTTPS URIs should be used.
- Specifications
- Core: draft-handrews-json-schema-02 (changes)
- Validation: draft-handrews-json-schema-validation-02 (changes)
- Hyper-Schema: draft-handrews-json-schema-hyperschema-02 (changes)
- Relative JSON Pointer: draft-handrews-relative-json-pointer-02 (changes)
- Published: 17-September-2019
- General use meta-schemas
- Individual vocabulary meta-schemas
- Output schemas
- Output examples
Draft 7
- Core: draft-handrews-json-schema-01 (changes)
- Validation: draft-handrews-json-schema-validation-01 (changes)
- Hyper-Schema: draft-handrews-json-schema-hyperschema-01 (changes)
- JSON Schema meta-schema
- JSON Hyper-Schema meta-schema
- JSON Hyper-Schema Link Description Object meta-schema
- JSON Hyper-Schema recommended output schema
- Relative JSON Pointer: draft-handrews-relative-json-pointer-01 (changes)
- Published: 19-March-2018
Obsolete Draft 7 Documents
These were updated without changing functionality or meta-schemas due to a few errors and unclear sections.
- Core: draft-handrews-json-schema-00 (changes)
- Validation: draft-handrews-json-schema-validation-00 (changes)
- Hyper-Schema: draft-handrews-json-schema-hyperschema-00 (changes)
- Relative JSON Pointer: draft-handrews-relative-json-pointer-00 (changes)
Draft 6
- Core: draft-wright-json-schema-01 (changes)
- Validation: draft-wright-json-schema-validation-01 (changes) (schema migration FAQ)
- Hyper-Schema: draft-wright-json-schema-hyperschema-01 (changes) (hyper-schema migration FAQ)
- JSON Schema meta-schema
- JSON Hyper-Schema meta-schema
- Published: 21-April-2017
Draft 5
- Core: draft-wright-json-schema-00 (changes)
- Validation: draft-wright-json-schema-validation-00 (changes)
- Hyper-Schema: draft-wright-json-schema-hyperschema-00 (changes)
- Draft 5 was primarily a cleanup of Draft 4 and continued to use the Draft 4 meta-schemas.
- Published: 13-October-2016
Draft 4
- Core: draft-zyp-json-schema-04 (changes)
- Validation: draft-fge-json-schema-validation-00 (changes)
- Hyper-Schema: draft-luff-json-hyper-schema-00 (changes)
- JSON Reference: draft-pbryan-zyp-json-ref-03 (changes)
- JSON Schema meta-schema
- JSON Hyper-Schema meta-schema
- Published: 31-January-2013
Draft 3
- Complete Specification: draft-zyp-json-schema-03 (changes)
- JSON Schema meta-schema
- JSON Hyper-Schema meta-schema
- Published: 22-November-2010
Draft 2
- Complete Specification: draft-zyp-json-schema-02 (changes: Appendix-A)
- JSON Schema meta-schema
- JSON Hyper-Schema meta-schema
- Published: 23-March-2010
Draft 1
- Complete Specification: draft-zyp-json-schema-01 (changes)
- JSON Schema meta-schema
- JSON Hyper-Schema meta-schema
- Published: 05-December-2009
Draft 0
Note that Draft 0 erroneously claimed to update another RFC, and was replaced the same day by Draft 1. It is included here for completeness only.
- Specification: draft-zyp-json-schema-00 (changes: Appendix-A))
- JSON Schema meta-schema
- JSON Hyper-Schema meta-schema
- Published: 05-December-2009
Latest Snapshot (work in progress)
The next unreleased draft is a work in progress. You can give feedback and get involved on GitHub.
The specification links here link to the raw sources. We do not provide rendered work-in-progress drafts except near the very end of a publication cycle, during the final review period.
- Core: jsonschema-core.md
- Validation: jsonschema-validation.md
- Hyper-Schema: jsonschema-hyperschema.xml
Need Help?
Did you find these docs helpful?
Help us make our docs great!
At JSON Schema, we value docs contributions as much as every other type of contribution!
Still Need Help?
Learning JSON Schema is often confusing, but don't worry, we are here to help!.