Why a schema-based test data builder?
The fake data generator gives you ready-made profiles (name, address, tax ID). But sometimes you need your own schema: a product with SKU, price (10 to 500), category (5-value enum), tag array. Or an order with a nested object for the customer.
Here you design the structure field-by-field: type, range, pattern, options. Generate N records matching exactly. Export to JSON, CSV, SQL INSERT or NDJSON to drop into your app or database.
Available types: string, number, integer, boolean, date, email, UUID, enum (pick-list), array, nested object, and "faker" (pulls from our pools - first name, city, company).
How to use it
- Click "Add field" - creates a new field in the schema. Type a name (e.g. "price").
- Pick a type - string, number, date, enum, faker, and so on. Type-specific options appear (range, length).
- For objects you can add fields inside fields (recursive). For arrays pick the item type and min/max count.
- Set record count to generate - 1 to 10 000.
- Pick output format - JSON (most common), CSV (Excel), SQL INSERT (database), NDJSON (one line per record, for streaming).
- Type a seed (optional) for deterministic output. Click "Copy" or "Download".
When this is useful
Real projects that need a custom schema:
- E-commerce app - generate 100 products: SKU (UUID), name (faker), price (number 10-500 with 2 decimals), category (enum: "Electronics", "Clothing", "Home"), tags (array of 1-3 strings). Fill a demo product page in 5 seconds.
- Booking system - reservation record: id (UUID), customer (object with name and email), date range (2024-2025), status (enum: "confirmed", "cancelled", "pending"), guests (array of 1-6 names).
- GraphQL APIs - schema-first design. Define types in the tool, generate mock data, drop into Apollo Server mocked resolvers. Frontend works before backend writes a line.
- Database migration - test a new table schema. Generate 1000 records matching the structure, load with SQL INSERT, check `WHERE` performance on a new index.
- Storybook stories - the `<ProductCard>` React component has 8 props. Generate 5 object variants with different values, each as its own story. Clickable palette instead of hardcoded.
- CSV/Excel samples - a client asks "what would the sales report look like?". Generate a CSV with date, amount, customer, status. Open in Excel, show.
- Validator tests - your `validateOrder(order)` must handle 100 edge-case variants. Generate 100 objects, each with different boundary values.
- Live demos - a "this is how our app works" talk needs a populated DB. Generate 50 records matching the real shape.
Related: ready profiles in fake data generator, themed placeholder text in themed lorem ipsum.