simple-zod-faker
v0.0.4
Published
Generate fake data from zod schemas using @faker-js/faker
Maintainers
Readme
simple-zod-faker
Generate realistic fake data from Zod-compatible schemas.
Built on top of @faker-js/faker and zod, this library lets you go from schema to mock data instantly.
🚀 Features
- ✅ Generate fake data from Zod schemas
- ✅ Supports strings, numbers, booleans, enums, arrays, and more
- ✅ Works great for seeding databases, tests, and mock APIs
- ✅ Fully typed output (inferred from your schema)
📦 Installation
npm install simple-zod-faker zod🔧 Usage
import { z } from "zod";
import { generateFakeData } from "simple-zod-faker";
export const basicSchema = z.object({
name: z.string(),
age: z.number().min(18),
isAdmin: z.boolean()
});
const fakeData = generateFakeData(basicSchema);
console.log(fakeData);Example Output
{
"name": "Reuben Wisozk",
"age": 64,
"isAdmin": false
}✅ Supported Zod Types
| Zod Type | Supported | Description |
|----------------------|-----------|-----------------------------------------|
| z.string() | ✅ | Generates a random string |
| z.number() | ✅ | Generates a number (default: 0–100) |
| z.boolean() | ✅ | Generates true or false |
| z.date() | ✅ | Generates a recent random Date |
| z.enum() | ✅ | Selects a random enum value |
| z.literal(value) | ✅ | Always returns the literal value |
| z.object({...}) | ✅ | Recursively generates objects |
| z.array(schema) | ✅ | Array of fake elements (default length: 3) |
| z.union([a, b]) | 🔶 | Randomly selects one schema |
| z.optional(schema) | ✅ | Sometimes returns undefined |
| z.nullable(schema) | ✅ | Sometimes returns null |
🔶 Partial support: may not handle all edge cases or deeply nested unions.
More Zod features (like
z.tuple,z.record,z.intersection) may be supported in future updates.
