Zod
✨ https://zod.dev ✨
TypeScript-first schema validation with static type inference
Table of contents
These docs have been translated into Chinese.
- Table of contents
- Introduction
- Installation
- Basic usage
- Primitives
- Coercion for primitives
- Literals
- Strings
- Numbers
- BigInts
- NaNs
- Booleans
- Dates
- Zod enums
- Native enums
- Optionals
- Nullables
- Objects
- Arrays
- Tuples
- Unions
- Discriminated unions
- Records
- Maps
- Sets
- Intersections
- Recursive types
- Promises
- Instanceof
- Functions
- Preprocess
- Custom schemas
- Schema methods
- Guides and concepts
- Comparison
- Changelog
Introduction
Zod is a TypeScript-first schema declaration and validation library. I'm using the term "schema" to broadly refer to any data type, from a simple string
to a complex nested object.
Zod is designed to be as developer-friendly as possible. The goal is to eliminate duplicative type declarations. With Zod, you declare a validator once and Zod will automatically infer the static TypeScript type. It's easy to compose simpler types into complex data structures.
Some other great aspects:
- Zero dependencies
- Works in Node.js and all modern browsers
- Tiny: 8kb minified + zipped
- Immutable: methods (e.g.
.optional()
) return a new instance - Concise, chainable interface
- Functional approach: parse, don't validate
- Works with plain JavaScript too! You don't need to use TypeScript.
Sponsors
Sponsorship at any level is appreciated and encouraged. If you built a paid product using Zod, consider one of the corporate tiers.
Diamond
Platinum
|
|
|
|