---
title: "Joi"
description: "A schema-based validation library for JavaScript."
pagination: false
---

{/* Generated from content/. Edit the catalog, not this page. */}

<PurposeNote title="Good for">Checking structured request payloads and configuration objects.</PurposeNote>

## What it does

A schema-based validation library for JavaScript.

## When it fits

Checking structured request payloads and configuration objects.

## Other options in this category

<div data-pagefind-ignore>

- [ArkType](/validation/arktype) — Validating external data while keeping schema definitions close to static types.
- [io-ts](/validation/io-ts) — Validating data at application boundaries in functional TypeScript code.
- [Superstruct](/validation/superstruct) — Checking application input with small reusable data structures.
- [T3 Env](/validation/t3-env) — Failing early when server or client configuration is missing or invalid.
- [Yup](/validation/yup) — Defining form constraints and reusable object validation rules.

</div>

## Source

[Project source for Joi ↗](https://www.npmjs.com/package/joi)

Editorial overview reviewed on October 24, 2026. Follow the source for current setup, compatibility, and licensing.

[Validate incoming data →](/tasks/validate-incoming-data)

[All runtime validation options →](/validation)
