hapijs/joi

The most powerful data validation library for JS

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 2 minutes ago
Added to GitGenius on September 2nd, 2026
Created on September 16th, 2012
Open Issues & Pull Requests: 199 (+0)
GitHub issues: Enabled
Number of forks: 1,514
Total Stargazers: 21,175 (+0)
Total Subscribers: 173 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.0 days
Mean response time: 99.5 days
90th percentile: 151.4 days
Tracked items: 62

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 6% of issues opened in the past year have been closed. Three people close 79% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 31
New in 7 days: 0
Closed in 7 days: 3
Avg open age: 720 days
Stale 30+ days: 31
Stale 90+ days: 27

Recent activity

Opened in 7 days: 0
Closed in 7 days: 3
Comments in 7 days: 2
Events in 7 days: 13

Top labels

  • support (27)
  • bug (21)
  • feature (13)
  • documentation (5)
  • breaking changes (1)
  • non issue (1)
  • release notes (1)
  • types (1)

Most active issues this week

Detailed Description

Joi is a schema description language and data validation library for JavaScript.

The library addresses the need to validate data structures with a declarative, chainable API that lets developers define schemas and apply them to objects, arrays, and other values. Rather than writing imperative validation logic scattered throughout an application, Joi centralizes validation rules in reusable schema definitions. The approach combines a fluent interface with built-in support for complex validation scenarios including nested objects, conditional validation, and custom error messages.

Joi suits projects where data integrity matters—APIs receiving untrusted input, configuration file parsers, form validation in web applications, and any system processing structured data. The library works well for teams that prefer declarative validation over hand-written checks, and for codebases where validation logic needs to be maintainable and testable. It integrates naturally with the Hapi framework but functions as a standalone tool in any JavaScript environment.

The project maintains active development with regular updates to its documentation portal, versioning guidance, and changelog. The maintainers publish clear project policies and provide a dedicated developer portal with tutorials and API reference material, indicating sustained investment in developer experience and long-term support.