Zod Documentation
The official docs for Zod 4, the TypeScript-first schema library: declare a schema once, get a runtime validator and a static type, and convert it to JSON Schema. The OpenAI Agents SDK, the Claude Agent SDK and the MCP TypeScript SDK all accept Zod schemas for tools.
44k
GitHub · Sept 2026
4.6
npm · Sept 2026
Guide
Web Development
Colin McDonnell
A few evenings, then reference
Intermediate
Free
What Zod is
Zod is a TypeScript-first validation library. You declare a schema such as z.object({ orderId: z.string(), amount: z.number().positive() }), and Zod gives you both a runtime validator and the matching TypeScript type, so the two can never drift apart. The docs list zero external dependencies, support for Node.js and all modern browsers, a core bundle of about 2 KB gzipped and an immutable API where methods return new schemas.
The documentation covers:
- Basic usage: defining schemas,
parsewhich throws, andsafeParsewhich returns a success flag. - Defining schemas: strings, numbers, enums, objects, arrays, unions, optional and nullable fields, and refinements for custom rules.
- Customising errors and formatting them for users or logs.
- JSON Schema: converting a schema with
z.toJSONSchema(). - Zod Mini: a smaller, tree-shakable variant for bundle-sensitive frontends.
- Ecosystem: libraries and frameworks built on Zod.
Why it matters for AI agents in TypeScript
In a TypeScript agent, Zod is the glue between the model and your code. The OpenAI Agents SDK takes Zod schemas as tool parameters, the Claude Agent SDK's tool() helper takes a Zod shape, the MCP TypeScript SDK accepts Zod v4 for input schemas, and the Vercel AI SDK uses it for structured output. Learning it properly means one mental model for validating tool arguments, model replies, API requests and forms.
Prerequisites and time
TypeScript with strict mode enabled, which the docs require, and TypeScript 5.5 or newer for official support. The core pages take a few evenings; the rest is reference.
Free or paid?
Free and open source under the MIT licence, supported by sponsors.
What you can do after it
Define schemas for tool inputs and structured outputs, convert them to JSON Schema for a model, validate replies with safeParse and send readable errors back to the model for a retry.
Common questions
Zod 3 or Zod 4? Learn Zod 4, the current stable version. Some libraries import it as zod/v4, and older tutorials show Zod 3 APIs that have changed.
Is casting with as the same? No. A type assertion only silences the compiler; Zod actually checks the data at runtime, which is what untrusted model output needs.
Ready to start?
Opens on Colin McDonnell in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.