Beta You're reading the docs for Kubb v5, which is currently in beta. View the stable v4 docs
Skip to content
Official v5.0.0-beta.84 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
590k / mo
Stars
3
Bundle size
426.3 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@beta
shell
pnpm add -D @kubb/plugin-zod@beta
shell
npm install --save-dev @kubb/plugin-zod@beta
shell
yarn add -D @kubb/plugin-zod@beta

Dependencies

The generated schemas stand alone: they import z from your project, so add Zod v4 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 {  } from 'kubb'
import {  } from '@kubb/plugin-zod'

export default ({
  : { : './petStore.yaml' },
  : { : './src/gen' },
  : [
    ({
      : { : './zod' },
      : { : 'tag', : ({  }) => `${}Schemas` },
      : true,
      : 'zod',
    }),
  ],
})

See also