Convert Zod schemas to JSON Schema
masterThe zod-to-json-schema library converts Zod schemas into JSON schemas. It supports basic validations (string, number, array length), string patterns, and resolves recursive/recurring schemas using internal $refs.
Key features include:
- Support for legacy OpenAPI 3.0 specification.
- Support for OpenAI strict mode (replaces optional properties with required but nullable ones).
- Compatibility with Zod v4 as a peer-dependency (as of v3.25, provided you use v3-schemas).
import { z } from "zod"; // Or, using v3.25 or v4, "zod/v3"
import { zodToJsonSchema } from "zod-to-json-schema";
const mySchema = z
.object({
myString: z.string().min(5),
myUnion: z.union([z.number(), z.boolean()]),
})
.describe("My neat object schema");
const jsonSchema = zodToJsonSchema(mySchema, "mySchema");