gender enum Only generate names of this gender — constrains both the first-name pool and the gender field of every record. Omit for a random per-record mix.
Random person names — first, last and full — with a strict gender filter, locale-aware name pools in 8 languages and seed-reproducible output.
Generated test data for fixtures and development
| Parameter | Type | Default & allowed | Description |
|---|---|---|---|
gender | enum | allowed: male | female example: female | Only generate names of this gender — constrains both the first-name pool and the gender field of every record. Omit for a random per-record mix. |
gender enum Only generate names of this gender — constrains both the first-name pool and the gender field of every record. Omit for a random per-record mix.
| Parameter | Type | Default & allowed | Description |
|---|---|---|---|
count | int | default: 10 allowed: 1 – 100 example: 3 | How many records to generate (1–100). |
seed | int | example: 42 | Deterministic output: the same seed always returns the same records. Omit for random (the used seed is echoed in meta.seed). |
locale | enum | default: en allowed: en | da | de | fr | es | it | pt | ja example: da | Locale for the generated data (names, addresses, …). |
fields | list | example: firstName,lastName | Return only these fields (comma-separated). Mutually exclusive with 'exclude'. |
exclude | list | example: gender | Return all fields except these (comma-separated). |
format | enum | default: json allowed: json | ndjson | csv example: csv | Response format: json envelope, ndjson (one record per line) or csv. |
pretty | boolean | default: false example: true | Pretty-print the JSON response. |
unwrap | boolean | default: false example: true | Drop the envelope: return the raw array/object without data/meta wrapper. |
count int How many records to generate (1–100).
seed int Deterministic output: the same seed always returns the same records. Omit for random (the used seed is echoed in meta.seed).
locale enum Locale for the generated data (names, addresses, …).
fields list Return only these fields (comma-separated). Mutually exclusive with 'exclude'.
exclude list Return all fields except these (comma-separated).
format enum Response format: json envelope, ndjson (one record per line) or csv.
pretty boolean Pretty-print the JSON response.
unwrap boolean Drop the envelope: return the raw array/object without data/meta wrapper.
| Field | Type | Description | Example |
|---|---|---|---|
firstName | string | Given name, drawn strictly from the locale's pool for the record's gender. | Emily |
lastName | string | Family name from the locale's surname pool. | Carter |
fullName | string | firstName + " " + lastName (Western order in every locale). | Emily Carter |
gender | string | male | female — the pool the first name was drawn from; equals the gender param when one is set. | female |
firstName string Given name, drawn strictly from the locale's pool for the record's gender.
example: Emily
lastName string Family name from the locale's surname pool.
example: Carter
fullName string firstName + " " + lastName (Western order in every locale).
example: Emily Carter
gender string male | female — the pool the first name was drawn from; equals the gender param when one is set.
example: female
/api/names?count=5&seed=42 {
"data": [
{
"firstName": "Marlon",
"lastName": "MacGyver",
"fullName": "Marlon MacGyver",
"gender": "male"
},
{
"firstName": "Sam",
"lastName": "Wisozk",
"fullName": "Sam Wisozk",
"gender": "male"
},
{
"firstName": "Sheila",
"lastName": "Jakubowski",
"fullName": "Sheila Jakubowski",
"gender": "female"
},
{
"firstName": "Neil",
"lastName": "Renner",
"fullName": "Neil Renner",
"gender": "male"
},
{
"firstName": "Patsy",
"lastName": "Rau",
"fullName": "Patsy Rau",
"gender": "female"
}
],
"meta": {
"endpoint": "names",
"count": 5,
"seed": 42,
"locale": "en",
"params": {},
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} /api/names?gender=female&count=10 {
"data": [
{
"firstName": "Marilyn",
"lastName": "MacGyver",
"fullName": "Marilyn MacGyver",
"gender": "female"
},
{
"firstName": "Sandy",
"lastName": "Wisozk",
"fullName": "Sandy Wisozk",
"gender": "female"
},
{
"firstName": "Sheila",
"lastName": "Jakubowski",
"fullName": "Sheila Jakubowski",
"gender": "female"
},
{
"firstName": "Mindy",
"lastName": "Renner",
"fullName": "Mindy Renner",
"gender": "female"
},
{
"firstName": "Patsy",
"lastName": "Rau",
"fullName": "Patsy Rau",
"gender": "female"
},
{
"firstName": "Joan",
"lastName": "Lynch",
"fullName": "Joan Lynch",
"gender": "female"
},
{
"firstName": "Beatrice",
…
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} /api/names?locale=ja&gender=male&count=5 {
"data": [
{
"firstName": "清",
"lastName": "柳沢",
"fullName": "清 柳沢",
"gender": "male"
},
{
"firstName": "輝",
"lastName": "馬場",
"fullName": "輝 馬場",
"gender": "male"
},
{
"firstName": "辰男",
"lastName": "島田",
"fullName": "辰男 島田",
"gender": "male"
},
{
"firstName": "秀雄",
"lastName": "石原",
"fullName": "秀雄 石原",
"gender": "male"
},
{
"firstName": "翔平",
"lastName": "畠山",
"fullName": "翔平 畠山",
"gender": "male"
}
],
"meta": {
"endpoint": "names",
"count": 5,
"seed": 42,
"locale": "ja",
"params": {
"gender": "male"
},
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} Generates person names from each locale's curated name pools (mock data — any resemblance to real people is coincidental). Every record carries firstName, lastName, fullName and the gender its first name was drawn for.
The gender filter is strict: ?gender=female draws every first name from the locale's female pool and stamps gender: "female" on every record — unlike raw faker, it never mixes in names from the unisex "any" pool. When omitted, each record independently picks male or female, and the gender field always tells you which pool the first name came from — name and gender never contradict each other.
locale swaps the pools wholesale: ?locale=ja returns Japanese names in kanji/kana, ?locale=de German ones, and so on. fullName is always firstName + " " + lastName (Western order in every locale). With a seed, the same query returns byte-identical names forever.
Yes — gender=female returns only names from the female pool. It's a strict filter, not a probability bias.
locale switches the name pools among 8 languages (en, da, de, fr, es, it, pt, ja), so demo data can match your market.
Share a seed — every service requesting the same seed and params receives the same names, keeping cross-service fixtures aligned.
Complete fake people — name, age-consistent birth date, email, phone, job and address — with working filters for gender, age range and email domain.
Random usernames in four distinct styles — handle, gamer, professional, anonymous — with a maxLength that is honored by construction, never by truncation.
Fake email addresses with name-derived usernames on guaranteed non-deliverable domains (example.com/net/org and .test) — or stamp your own with ?domain=.
Fake, correctly formatted phone numbers in E.164, international and national forms of the same number, using real country codes and lengths across 8 locales.