A fast JSON Schema validator for Node.js that compiles schemas into optimized validation functions.
JSCK is a JSON Schema validator for Node.js that compiles schemas into optimized validation functions for high-performance data validation. It supports JSON Schema Draft 3 and Draft 4, offering one of the fastest validation speeds among JavaScript libraries. The project solves the problem of slow runtime validation by shifting schema interpretation to initialization time.
Node.js developers who need fast, reliable JSON Schema validation for APIs, configuration files, or data pipelines. It's particularly useful for projects with complex schemas or high validation throughput.
Developers choose JSCK for its performance advantages—compilation reduces runtime overhead, making it significantly faster than non-compiling validators, especially for complex schemas. It balances speed with robust support for JSON Schema standards.
JSON Schema Compiled checK
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
JSCK pre-compiles schemas into validation functions during initialization, minimizing runtime overhead and making it one of the fastest validators, as benchmarks show it outperforms many others for complex schemas.
Supports both JSON Schema Draft 3 and Draft 4 with comprehensive test coverage, except for a few documented caveats, providing flexibility for legacy and modern schemas.
For single schemas without an 'id', usage is straightforward with a constructor pattern, as shown in the README examples, reducing setup complexity.
Performance benefits increase with schema complexity, as compilation reduces interpretation work, making it ideal for nested objects and intricate validation rules.
Missing key features like remote references (refRemote) and uniqueItems, and has issues with Unicode surrogate pairs, limiting full standard adherence for Draft 4.
Only supports 'id' declarations in specific cases (top-level or non-JSON-pointer fragments), restricting advanced schema composition and reuse as noted in the Coverage section.
Designed solely for Node.js, so it's not suitable for client-side validation without significant adaptation, unlike some competitors.
Schema compilation adds setup time during validator construction, which can be inefficient for scenarios with dynamic or frequently changing schemas.