Random Person Data Generator
Generate realistic random person profiles with names, emails, photos, addresses and phone numbers using live API data. Export to CSV, JSON or vCard.
About
Generating realistic test data is a non-trivial problem in software development. Hardcoded fixtures rot. Purely random strings fail validation checks. This tool queries the randomuser.me public API to produce demographically plausible person records complete with name, email, phone, address, date of birth, and photo. Each record passes basic format validation for its locale. The generator supports filtering by gender and 18 nationalities, sorting by name or age, and bulk export to CSV (RFC 4180), JSON, or vCard 3.0 format. Note: the API returns procedurally assembled data. Names and addresses are locale-consistent but do not correspond to real individuals. Phone number formats match national patterns but are not guaranteed dialable.
Incorrect test data causes false positives in integration tests, masks encoding bugs in UTF-8 pipelines, and produces misleading load-test metrics. A name field that only ever contains ASCII characters will never expose the rendering bug triggered by Ñ, ß, or 漢字. This generator draws from multi-script name pools across nationalities, reducing that blind spot. Results are paginated client-side and persist across sessions via LocalStorage. Pro tip: always test with the maximum record count your UI will display. Edge cases hide in pagination boundaries, not in single-record views.
Formulas
The generator queries the randomuser.me REST endpoint with configurable parameters. The request URL follows this pattern:
Where n = number of records (1 - 50), g = gender filter (male | female | both), c = ISO 3166-1 alpha-2 nationality code(s), comma-separated.
Client-side age filtering applies the predicate:
Aggregate statistics use reduce to compute mean age:
CSV export escapes fields per RFC 4180: any field containing commas, double quotes, or newlines is wrapped in double quotes, with internal double quotes doubled.
Reference Data
| Nationality Code | Country | Name Scripts | Phone Format Example | Postcode Format |
|---|---|---|---|---|
| AU | Australia | Latin | 04-XXXX-XXXX | NNNN |
| BR | Brazil | Latin | (NN) NNNN-NNNN | NNNNN-NNN |
| CA | Canada | Latin | NNN-NNN-NNNN | A0A 0A0 |
| CH | Switzerland | Latin | 0NN NNN NN NN | NNNN |
| DE | Germany | Latin | 0NNN-NNNNNNN | NNNNN |
| DK | Denmark | Latin | NN NN NN NN | NNNN |
| ES | Spain | Latin | NNN-NNN-NNN | NNNNN |
| FI | Finland | Latin | 0NN-NNNNNNN | NNNNN |
| FR | France | Latin | 0N-NN-NN-NN-NN | NNNNN |
| GB | United Kingdom | Latin | 0NNN-NNNNNN | AA0 0AA |
| IE | Ireland | Latin | 0NN-NNNNNNN | A00 AAAA |
| IN | India | Latin | NNNNNNNNNN | NNNNNN |
| IR | Iran | Arabic/Latin | 0NN-NNNNNNNN | NNNNNNNNN |
| MX | Mexico | Latin | (NNN) NNN NNNN | NNNNN |
| NL | Netherlands | Latin | (0NN) NNN-NNNN | NNNN AA |
| NO | Norway | Latin | NNN NN NNN | NNNN |
| NZ | New Zealand | Latin | (0NN)-NNN-NNNN | NNNN |
| TR | Turkey | Latin | (0NNN) NNN NNNN | NNNNN |
| US | United States | Latin | (NNN) NNN-NNNN | NNNNN |