Ajv

The fastest JSON Schema validator for Node.js and the browser, compiling schemas straight into executable validation code.

Library
npm
v8.20.0
14,864 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
60 /100 Good
Development Activity 28
Maintenance 44
Community 68
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
81 /100 Excellent
Architecture 85
Code Quality 88
Innovation 82
Learning Curve 70

Ajv (Another JSON Schema Validator) turns JSON Schema documents into compiled JavaScript validation functions rather than interpreting them at runtime, which is why it consistently benchmarks as the fastest validator in the ecosystem. It supports JSON Schema draft-04 through 2020-12 plus JSON Type Definition (RFC 8927), along with OpenAPI extensions like discriminator and nullable.

Beyond pure validation, Ajv can coerce data types, assign defaults to missing properties, remove additional properties, and generate standalone validation code with no runtime dependency on Ajv itself. Its TypeScript-first API infers static types from JSONSchemaType and JTDSchemaType definitions, and a large plugin ecosystem (ajv-formats, ajv-keywords, ajv-i18n) extends it with formats, custom keywords, and localized error messages.

What You Get

  • A compile()/validate() API that turns any JSON Schema (draft-04 to 2020-12) into a reusable, highly optimized validation function
  • First-class JSON Type Definition (RFC 8927) support alongside JSON Schema, including its own meta-schema
  • Data modification during validation: coercing types, assigning defaults, and removing additional properties
  • Standalone code generation so compiled validators can be exported as plain JS with zero Ajv runtime dependency
  • A TypeScript API that infers static types from JSONSchemaType<T>/JTDSchemaType<T> schema definitions
  • An extensible keyword and format system, backed by companion packages (ajv-formats, ajv-keywords, ajv-i18n) for additional formats, keywords, and translated error messages

Common Use Cases

  • Validating incoming request bodies and query params in Node.js API servers before they reach business logic
  • Enforcing config file and environment schema correctness at application startup
  • Powering OpenAPI/Swagger request and response validation middleware
  • Client-side form and payload validation in the browser using the same schema as the backend
  • Generating standalone, dependency-free validation functions for edge/serverless environments where bundle size matters

Under The Hood

Architecture Ajv’s core (lib/ajv.ts, lib/core.ts) drives a compile pipeline where SchemaEnv/compileSchema in lib/compile/index.ts resolve and cache schemas by $id, lib/compile/validate walks the schema tree emitting imperative validation logic through a custom intermediate representation in lib/compile/codegen, and per-keyword handlers registered as vocabularies (lib/vocabularies/{applicator,core,validation,format,jtd}) each contribute codegen fragments that are assembled into one JavaScript function, later instantiated via new Function or exported as standalone source through lib/standalone.

Tech Stack Written in strict TypeScript (5.3) compiled to a small, dependency-light runtime — fast-deep-equal, fast-uri, json-schema-traverse, and require-from-string are the only production dependencies — with Rollup producing browser bundles, Karma running cross-browser tests, and ESLint/Prettier configured via the shared @ajv-validator/config package.

Code Quality The spec/ directory holds 73 spec files covering async validation, discriminator, dynamic $ref, JTD, and codegen internals, plus the official JSON-Schema-Test-Suite pulled in as a git submodule for cross-implementation conformance; naming is consistent and domain-specific (SchemaEnv, KeywordCxt, ValidationRules), and nyc-based coverage is wired into npm run test-cov.

API Design The public surface is compact — Ajv, Ajv2019, Ajv2020, and AjvJTD classes with chainable compile/addSchema/addFormat/addKeyword methods — and JSONSchemaType<T>/JTDSchemaType<T> generics let a single schema double as a compile-time TypeScript type, cutting boilerplate; the tradeoff is that mastering the keyword/vocabulary extension API and the type-inference generics requires reading the docs rather than guessing from the API shape alone.

Used by 67 apps in this directory

TypeScript
92%
Other

n8n

Automation · No Code Platforms

208,437

Code when you need it, UI when you don't — the workflow automation platform built for technical teams who refuse to choose.

View details
95
Repo Health
87
Technical
62
Dependency
Built with
TypeScript 92%
Updated 1 weeks ago
TypeScript
97%
Other

nango

Authentication · Automation · Developer Tools

12,963

Build product integrations with AI using 800+ APIs — auth, proxy, and TypeScript functions on production-grade infrastructure.

View details
94
Repo Health
85
Technical
67
Dependency
Built with
TypeScript 97%
Updated 1 weeks ago
TypeScript
84%
Apache 2.0

nao

AI Development · Analytics

1,949

Build and deploy an open-source analytics agent that understands your data warehouse and answers business questions in plain English.

View details
85
Repo Health
76
Technical
67
Dependency
Built with
TypeScript 84%
Python 15%
Updated 6 days ago
TypeScript
95%
Apache 2.0

NemoClaw

AI Agents · AI Development

22,823

Run AI coding agents like OpenClaw and Hermes securely inside NVIDIA OpenShell sandboxes with a hardened blueprint, routed inference, and lifecycle management through a single CLI.

View details
79
Repo Health
87
Technical
71
Dependency
Built with
TypeScript 95%
Updated 6 days ago
TypeScript
49%
MIT

Nginx Proxy Manager

Developer Tools · Networking · Security

34,517

Manage Nginx reverse proxies and free Let's Encrypt SSL through a beautiful web interface — no Nginx expertise required.

View details
92
Repo Health
77
Technical
72
Dependency
Built with
TypeScript 49%
JavaScript 47%
Updated 1 weeks ago
TypeScript
65%
Other

NocoDB

Databases · Low Code Platforms · No Code Platforms

65,340

Turn any SQL database into a collaborative no-code spreadsheet with automatic REST APIs and real-time views.

View details
91
Repo Health
77
Technical
63
Dependency
Built with
TypeScript 65%
Vue 30%
Updated 6 days ago
JavaScript
88%
GPL 3.0

NodeBB

Community

15,242

Modern Node.js forum software with real-time WebSockets, multi-database support, and a plugin ecosystem — the community platform built for the open web and the Fediverse.

View details
97
Repo Health
78
Technical
70
Dependency
Built with
JavaScript 88%
Go Template 11%
Updated 6 days ago
TypeScript
98%
Other

Novu

Developer Tools

40,195

Open-source communication infrastructure that connects your products and AI agents to every channel your users live on — Inbox, Email, SMS, Push, Chat, and more.

View details
93
Repo Health
80
Technical
64
Dependency
Built with
TypeScript 98%
Updated 6 days ago
TypeScript
60%
MIT

oh-my-claudecode

AI Agents

40,215

Multi-agent orchestration for Claude Code with zero learning curve — install as a plugin or npm CLI and coordinate parallel Claude Code agents through pre-built workflows instead of managing them by hand.

View details
85
Repo Health
70
Technical
73
Dependency
Built with
TypeScript 60%
JavaScript 39%
Updated 6 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers