Field Types
MockHero supports 156 field types organized into 8 categories. Use the type value in your column definition to select a generator. Many types accept optional params for fine-tuning.
Identity
People-related fields. All name fields are locale-aware and will produce culturally appropriate names when a locale is specified.
- Type
first_name- Description
- Locale-aware first name
- Params
- —
- Example
Amara
- Type
last_name- Description
- Locale-aware last name
- Params
- —
- Example
Okafor
- Type
full_name- Description
- First + last name combined
- Params
- —
- Example
Amara Okafor
- Type
email- Description
- Realistic email derived from name fields when present
- Params
domain- Example
amara.okafor@gmail.com
- Type
username- Description
- Handle-style username
- Params
- —
- Example
amara_okafor42
- Type
phone- Description
- Phone number in locale format
- Params
format- Example
+1 (555) 234-5678
- Type
avatar_url- Description
- URL to a placeholder avatar image
- Params
- —
- Example
https://api.dicebear.com/7.x/avataaars/svg?seed=482
- Type
gender- Description
- Gender string
- Params
values- Example
female
- Type
date_of_birth- Description
- Date of birth within a realistic range
- Params
min_age, max_age- Example
1992-07-14
| Type | Description | Params | Example |
|---|---|---|---|
first_name | Locale-aware first name | — | Amara |
last_name | Locale-aware last name | — | Okafor |
full_name | First + last name combined | — | Amara Okafor |
email | Realistic email derived from name fields when present | domain | amara.okafor@gmail.com |
username | Handle-style username | — | amara_okafor42 |
phone | Phone number in locale format | format | +1 (555) 234-5678 |
avatar_url | URL to a placeholder avatar image | — | https://api.dicebear.com/7.x/avataaars/svg?seed=482 |
gender | Gender string | values | female |
date_of_birth | Date of birth within a realistic range | min_age, max_age | 1992-07-14 |
Location
Geographic and address fields. Locale-aware where applicable.
- Type
city- Description
- City name appropriate to the locale
- Params
- —
- Example
Portland
- Type
country- Description
- Full country name
- Params
- —
- Example
United States
- Type
postal_code- Description
- Postal/ZIP code in locale format
- Params
- —
- Example
97201
- Type
state_province- Description
- State, province, or region
- Params
- —
- Example
Oregon
- Type
address- Description
- Full street address
- Params
- —
- Example
742 Evergreen Terrace, Apt 3B
- Type
latitude- Description
- Latitude coordinate
- Params
min, max- Example
45.5152
- Type
longitude- Description
- Longitude coordinate
- Params
min, max- Example
-122.6784
- Type
timezone- Description
- IANA timezone identifier
- Params
- —
- Example
America/Los_Angeles
| Type | Description | Params | Example |
|---|---|---|---|
city | City name appropriate to the locale | — | Portland |
country | Full country name | — | United States |
postal_code | Postal/ZIP code in locale format | — | 97201 |
state_province | State, province, or region | — | Oregon |
address | Full street address | — | 742 Evergreen Terrace, Apt 3B |
latitude | Latitude coordinate | min, max | 45.5152 |
longitude | Longitude coordinate | min, max | -122.6784 |
timezone | IANA timezone identifier | — | America/Los_Angeles |
Business
Commerce, finance, and organizational data.
- Type
company_name- Description
- Realistic company name
- Params
- —
- Example
Meridian Systems
- Type
job_title- Description
- Professional job title
- Params
- —
- Example
Senior Backend Engineer
- Type
department- Description
- Company department name
- Params
- —
- Example
Engineering
- Type
product_name- Description
- Consumer product name
- Params
- —
- Example
Wireless Noise-Canceling Headphones
- Type
price- Description
- Monetary value with two decimal places
- Params
min, max, currency- Example
49.99
- Type
amount- Description
- Generic numeric amount
- Params
min, max, decimals- Example
1250.00
- Type
decimal- Description
- Arbitrary decimal number
- Params
min, max, precision- Example
3.14159
- Type
currency- Description
- ISO 4217 currency code
- Params
- —
- Example
USD
- Type
rating- Description
- Numeric rating
- Params
min, max, precision- Example
4.5
- Type
sku- Description
- Stock keeping unit code
- Params
prefix- Example
SKU-8A3F2C
- Type
credit_card_number- Description
- Valid-format credit card number (not real)
- Params
network- Example
4532015112830366
- Type
tracking_number- Description
- Shipping tracking number
- Params
carrier- Example
1Z999AA10123456784
| Type | Description | Params | Example |
|---|---|---|---|
company_name | Realistic company name | — | Meridian Systems |
job_title | Professional job title | — | Senior Backend Engineer |
department | Company department name | — | Engineering |
product_name | Consumer product name | — | Wireless Noise-Canceling Headphones |
price | Monetary value with two decimal places | min, max, currency | 49.99 |
amount | Generic numeric amount | min, max, decimals | 1250.00 |
decimal | Arbitrary decimal number | min, max, precision | 3.14159 |
currency | ISO 4217 currency code | — | USD |
rating | Numeric rating | min, max, precision | 4.5 |
sku | Stock keeping unit code | prefix | SKU-8A3F2C |
credit_card_number | Valid-format credit card number (not real) | network | 4532015112830366 |
tracking_number | Shipping tracking number | carrier | 1Z999AA10123456784 |
Temporal
Date, time, and duration fields.
- Type
datetime- Description
- ISO 8601 datetime with timezone
- Params
min, max- Example
2025-11-03T09:14:00Z
- Type
date- Description
- Date in YYYY-MM-DD format
- Params
min, max- Example
2025-11-03
- Type
time- Description
- Time in HH:mm:ss format
- Params
- —
- Example
09:14:32
- Type
timestamp- Description
- Unix timestamp in seconds
- Params
min, max- Example
1730628840
- Type
age- Description
- Integer age in years
- Params
min, max- Example
28
- Type
date_range- Description
- Object with start and end dates
- Params
min_gap_days, max_gap_days- Example
{"start":"2025-01-01","end":"2025-01-14"}
| Type | Description | Params | Example |
|---|---|---|---|
datetime | ISO 8601 datetime with timezone | min, max | 2025-11-03T09:14:00Z |
date | Date in YYYY-MM-DD format | min, max | 2025-11-03 |
time | Time in HH:mm:ss format | — | 09:14:32 |
timestamp | Unix timestamp in seconds | min, max | 1730628840 |
age | Integer age in years | min, max | 28 |
date_range | Object with start and end dates | min_gap_days, max_gap_days | {"start":"2025-01-01","end":"2025-01-14"} |
Technical
IDs, network, and system-level data types.
- Type
uuid- Description
- UUID v4 string
- Params
- —
- Example
e7a1c3b2-4f8d-4e6a-9b2c-1d3e5f7a8b9c
- Type
id- Description
- Auto-incrementing integer ID
- Params
start, step- Example
1
- Type
ip_address- Description
- IPv4 address
- Params
version- Example
192.168.1.42
- Type
mac_address- Description
- MAC address
- Params
- —
- Example
3D:F2:C9:A6:B3:4F
- Type
url- Description
- Realistic URL
- Params
- —
- Example
https://meridian.systems/about
- Type
domain- Description
- Domain name
- Params
- —
- Example
meridian.systems
- Type
user_agent- Description
- Browser user-agent string
- Params
- —
- Example
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...
- Type
color_hex- Description
- Hex color code
- Params
- —
- Example
#4F46E5
- Type
embedding_vector- Description
- Float array for ML embeddings
- Params
dimensions- Example
[0.0123, -0.0456, ...]
| Type | Description | Params | Example |
|---|---|---|---|
uuid | UUID v4 string | — | e7a1c3b2-4f8d-4e6a-9b2c-1d3e5f7a8b9c |
id | Auto-incrementing integer ID | start, step | 1 |
ip_address | IPv4 address | version | 192.168.1.42 |
mac_address | MAC address | — | 3D:F2:C9:A6:B3:4F |
url | Realistic URL | — | https://meridian.systems/about |
domain | Domain name | — | meridian.systems |
user_agent | Browser user-agent string | — | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)... |
color_hex | Hex color code | — | #4F46E5 |
embedding_vector | Float array for ML embeddings | dimensions | [0.0123, -0.0456, ...] |
Content
Text, media, and content-generation fields.
- Type
sentence- Description
- Single realistic sentence
- Params
min_words, max_words- Example
The quick brown fox jumps over the lazy dog.
- Type
paragraph- Description
- Multi-sentence paragraph
- Params
min, max- Example
Lorem ipsum dolor sit amet...
- Type
title- Description
- Article or post title
- Params
- —
- Example
Understanding Event-Driven Architecture
- Type
slug- Description
- URL-safe slug derived from a title field
- Params
- —
- Example
understanding-event-driven-architecture
- Type
tag- Description
- Lowercase tag or keyword
- Params
- —
- Example
javascript
- Type
review- Description
- Product or service review text
- Params
- —
- Example
Great build quality and fast shipping. Highly recommended.
- Type
image_url- Description
- Placeholder image URL
- Params
width, height- Example
https://picsum.photos/640/480?random=7
- Type
file_path- Description
- Unix-style file path
- Params
extension- Example
/var/data/exports/report_2025.csv
- Type
markdown- Description
- Markdown-formatted body text
- Params
length (short, medium, long)- Example
## Introduction\n\nEvent-driven...
| Type | Description | Params | Example |
|---|---|---|---|
sentence | Single realistic sentence | min_words, max_words | The quick brown fox jumps over the lazy dog. |
paragraph | Multi-sentence paragraph | min, max | Lorem ipsum dolor sit amet... |
title | Article or post title | — | Understanding Event-Driven Architecture |
slug | URL-safe slug derived from a title field | — | understanding-event-driven-architecture |
tag | Lowercase tag or keyword | — | javascript |
review | Product or service review text | — | Great build quality and fast shipping. Highly recommended. |
image_url | Placeholder image URL | width, height | https://picsum.photos/640/480?random=7 |
file_path | Unix-style file path | extension | /var/data/exports/report_2025.csv |
markdown | Markdown-formatted body text | length (short, medium, long) | ## Introduction\n\nEvent-driven... |
Logic
Structural and control types for building complex schemas.
- Type
boolean- Description
- true or false
- Params
probability- Example
true
- Type
enum- Description
- Random pick from a provided list
- Params
values (required)- Example
pro
- Type
integer- Description
- Random integer within range
- Params
min, max- Example
42
- Type
ref- Description
- Foreign key referencing another table's field
- Params
table, field (required)- Example
a1b2c3d4-...
- Type
sequence- Description
- Auto-incrementing value with optional prefix/suffix
- Params
start, step, prefix, suffix- Example
INV-00001
- Type
constant- Description
- Fixed literal value for every row
- Params
value (required)- Example
active
| Type | Description | Params | Example |
|---|---|---|---|
boolean | true or false | probability | true |
enum | Random pick from a provided list | values (required) | pro |
integer | Random integer within range | min, max | 42 |
ref | Foreign key referencing another table's field | table, field (required) | a1b2c3d4-... |
sequence | Auto-incrementing value with optional prefix/suffix | start, step, prefix, suffix | INV-00001 |
constant | Fixed literal value for every row | value (required) | active |
Using ref for relationships
The ref type creates foreign key relationships between tables. MockHero guarantees that every ref value corresponds to an existing record in the referenced table, maintaining full referential integrity.
{
"name": "author_id",
"type": "ref",
"params": { "table": "authors", "field": "id" }
}Security Testing Testing
Intentionally malicious or edge-case values for security testing and input validation. Use these to test that your application properly sanitizes input.
- Type
password_hash- Description
- bcrypt-hashed password string
- Params
rounds- Example
$2b$10$N9qo8uLOi...
- Type
xss_string- Description
- String containing XSS attack payloads
- Params
- —
- Example
<script>alert("xss")</script>
- Type
sql_injection_string- Description
- String containing SQL injection payloads
- Params
- —
- Example
'; DROP TABLE users; --
| Type | Description | Params | Example |
|---|---|---|---|
password_hash | bcrypt-hashed password string | rounds | $2b$10$N9qo8uLOi... |
xss_string | String containing XSS attack payloads | — | <script>alert("xss")</script> |
sql_injection_string | String containing SQL injection payloads | — | '; DROP TABLE users; -- |
Warning
Security testing types generate intentionally malicious strings. Only use them in test environments where you are explicitly testing input validation and sanitization. Never insert this data into production databases.
Using Params
Many field types accept a params object for customization. Here are common patterns.
Numeric Ranges
{ "name": "price", "type": "price", "params": { "min": 9.99, "max": 499.99 } }
{ "name": "quantity", "type": "integer", "params": { "min": 1, "max": 100 } }
{ "name": "score", "type": "rating", "params": { "min": 1, "max": 5, "precision": 1 } }Enum Values
{ "name": "status", "type": "enum", "params": { "values": ["pending", "active", "suspended"] } }
{ "name": "role", "type": "enum", "params": { "values": ["admin", "editor", "viewer"] } }Date Ranges
{ "name": "created_at", "type": "datetime", "params": { "min": "2024-01-01", "max": "2025-12-31" } }
{ "name": "birthday", "type": "date_of_birth", "params": { "min_age": 18, "max_age": 65 } }Foreign Keys
{ "name": "user_id", "type": "ref", "params": { "table": "users", "field": "id" } }
{ "name": "product_id", "type": "ref", "params": { "table": "products", "field": "id" } }
MockHero