Skip to content
Official v5.0.0 MIT kubb >=5.0.0 node >=22

@kubb/plugin-zod

Generates Zod v4 schemas from your OpenAPI spec so you validate API responses, form input, and query params at runtime.

zodvalidationschemaruntime-validationcodegenopenapi
Downloads
979k / mo
Stars
5
Bundle size
487.5 kB
Updated
2d ago

@kubb/plugin-zod

@kubb/plugin-zod turns your OpenAPI schemas into Zod v4 schemas. Use them to validate API responses at runtime, build form schemas, or feed router libraries that take Zod (tRPC, Hono, Elysia).

Pair it with a client plugin (@kubb/plugin-axios or @kubb/plugin-fetch) and set the client's validator: 'zod' to validate every response.

Installation

shell
bun add -d @kubb/plugin-zod
shell
pnpm add -D @kubb/plugin-zod
shell
npm install --save-dev @kubb/plugin-zod
shell
yarn add -D @kubb/plugin-zod

Dependencies

IMPORTANT

The generated schemas need Zod v4 or higher.

The generated schemas stand alone: they import z from your project, so add Zod to your dependencies. Set inferred: true to export a z.infer type alias next to each schema, which makes the schemas the single source of truth for types without @kubb/plugin-ts.

Example

typescript
import { 
defineConfig
} from 'kubb'
import {
pluginZod
} from '@kubb/plugin-zod'
export default
defineConfig
({
input
: './petStore.yaml',
output
: {
path
: './src/gen' },
plugins
: [
pluginZod
({
output
: {
path
: './zod',
mode
: 'directory' },
group
: {
type
: 'tag',
name
: ({
group
}) => `${
group
}Schemas` },
inferred
: true,
importPath
: 'zod',
}), ], })

See also