Validation
Schema validators for inputs, env vars, API boundaries.
The Standard Schema spec (a small "common interface" for validators) means most form/RPC libraries now accept any of these interchangeably.
TypeScript-first
- ★ Zod — the default. Huge ecosystem, integrates with everything (forms, tRPC, OpenAPI, environment validation, etc.). Recent majors are meaningfully faster and smaller — pin to a current version.
- Valibot — modular and tree-shakeable; bundles much smaller than Zod for simple schemas. Same author philosophy as Zod, different optimization target.
- ArkType — fastest of the three, parses TypeScript-like syntax at runtime.
- Effect Schema — schema layer of the Effect ecosystem; choose if you're already using Effect.
- Yup — older, still maintained, less type-strong than Zod.
Specialized
- Joi — the original Node validator; still common in non-TS Node code.
- typia — compile-time validators (very fast, codegen-driven).
Environment / config validation
@t3-oss/env-nextjs— Zod-backed env validation for Next.js.- envalid — older, minimal, framework-agnostic.
Pick this if…
- Default new project: Zod.
- Bundle size matters: Valibot.
- Maximum runtime speed: ArkType.
- Effect ecosystem: Effect Schema.