# hapijs/joi

The most powerful data validation library for JS

Repository: https://github.com/hapijs/joi
Canonical: https://ross.abutalabs.com/products/joi
Language: JavaScript
License: NOASSERTION
License Family: other
Topics: javascript, schema, validation, hapi
Last push: 2026-08-19T15:09:15+00:00

## Health v2 (maintenance only)
Score: 76/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 98, release rhythm 35, longevity 100
- inputs: {"age_days": 5099, "days_push": 14, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 21180, forks 1512 (observed 2026-08-28T04:11:31.425759+00:00)

## What it is
Joi is a schema description language and data validator for JavaScript, allowing developers to define validation rules for objects and values. It is the most popular validation library in the Node.js ecosystem, originally built for the hapi framework.

## Use cases
- validate request payloads in an API
- validate user input from forms
- define schemas for configuration objects
- validate JSON data structures
- sanitize and validate environment variables
- validate data before inserting into a database

## When to avoid
- you need TypeScript-first type inference (consider zod instead)
- you want a schema library shared between frontend and backend with type generation
- you need validation in a non-JavaScript language

## Facets
- artifact type: library
- maturity: stable
- function: form-handling, serialization
- domain: developer-tools, web-development, backend
- platform: -
- tags: schema-validation, data-validator, schema-description-language, hapi, nodejs, javascript

## Member repositories
- hapijs/joi (main) score 76

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:31.425759+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T16:58:28.571950+00:00, confidence not recorded.
  - readme: https://github.com/hapijs/joi (fetched 2026-08-28T04:11:31.425759+00:00, sha 52773d75ca79)
- Data as of 2026-08-30T08:39:29.467469+00:00.
