Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Zod | 20,182 | 855 | a day ago | 244 | September 11, 2022 | 169 | mit | TypeScript | ||
TypeScript-first schema validation with static type inference | ||||||||||
Yup | 19,976 | 8,912 | 2,408 | 2 days ago | 115 | August 20, 2022 | 165 | mit | TypeScript | |
Dead simple Object schema validation | ||||||||||
Ajv | 12,308 | 801,606 | 7,985 | a day ago | 349 | March 22, 2022 | 252 | mit | TypeScript | |
The fastest JSON schema Validator. Supports JSON Schema draft-04/06/07/2019-09/2020-12 and JSON Type Definition (RFC8927) | ||||||||||
Formily | 9,326 | 119 | a day ago | 209 | September 20, 2022 | 12 | mit | TypeScript | ||
š±š š§© Cross Device & High Performance Normal Form/Dynamic(JSON Schema) Form/Form Builder -- Support React/React Native/Vue 2/Vue 3 | ||||||||||
Marshmallow | 6,465 | 9,091 | 969 | 5 days ago | 168 | June 26, 2022 | 162 | mit | Python | |
A lightweight library for converting complex objects to and from simple Python datatypes. | ||||||||||
Superstruct | 6,417 | 348 | 296 | 22 days ago | 75 | September 22, 2022 | 75 | mit | TypeScript | |
A simple and composable way to validate data in JavaScript (and TypeScript). | ||||||||||
Jsonschema | 4,069 | 15,530 | 2,424 | 2 days ago | 74 | July 07, 2022 | 29 | mit | Python | |
An implementation of the JSON Schema specification for Python | ||||||||||
Json Schema | 3,344 | 8,501 | 489 | 3 months ago | 46 | April 13, 2022 | 96 | mit | PHP | |
PHP implementation of JSON schema. Fork of the http://jsonschemaphpv.sourceforge.net/ project | ||||||||||
Kubeval | 3,043 | 8 | 20 | 16 days ago | 13 | April 26, 2021 | 104 | other | Go | |
Validate your Kubernetes configuration files, supports multiple Kubernetes versions | ||||||||||
Json Schema Spec | 2,828 | 15 days ago | 106 | other | Makefile | |||||
The JSON Schema I-D sources |
Ā
The fastest JSON validator for Node.js and browser.
Supports JSON Schema draft-04/06/07/2019-09/2020-12 (draft-04 support requires ajv-draft-04 package) and JSON Type Definition RFC8927.
More than 100 people contributed to Ajv, and we would love to have you join the development. We welcome implementing new features that will benefit many users and ideas to improve our documentation.
Please review Contributing guidelines and Code components.
All documentation is available on the Ajv website.
Some useful site links:
Since I asked to support Ajv development 40 people and 6 organizations contributed via GitHub and OpenCollective - this support helped receiving the MOSS grant!
Your continuing support is very important - the funds will be used to develop and maintain Ajv once the next major version is released.
Please sponsor Ajv via:
Thank you.
Ajv generates code to turn JSON Schemas into super-fast validation functions that are efficient for v8 optimization.
Currently Ajv is the fastest and the most standard compliant validator according to these benchmarks:
Performance of different validators by json-schema-benchmark:
addSchema
or compiled to be available)type
keywordsTo install version 8:
npm install ajv
Try it in the Node.js REPL: https://runkit.com/npm/ajv
In JavaScript:
// or ESM/TypeScript import
import Ajv from "ajv"
// Node.js require:
const Ajv = require("ajv")
const ajv = new Ajv() // options can be passed, e.g. {allErrors: true}
const schema = {
type: "object",
properties: {
foo: {type: "integer"},
bar: {type: "string"},
},
required: ["foo"],
additionalProperties: false,
}
const data = {
foo: 1,
bar: "abc",
}
const validate = ajv.compile(schema)
const valid = validate(data)
if (!valid) console.log(validate.errors)
Learn how to use Ajv and see more examples in the Guide: getting started
See https://github.com/ajv-validator/ajv/releases
Please note: Changes in version 8.0.0
Please review and follow the Code of conduct.
Please report any unacceptable behaviour to [email protected] - it will be reviewed by the project team.
To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure. Please do NOT report security vulnerabilities via GitHub issues.
Ajv is a part of Tidelift subscription - it provides a centralised support to open-source software users, in addition to the support provided by software maintainers.