01
Personas
persona-generator
A header-only C++23 library that composes the other generators into
complete fictional characters: a country, a city, a birth, a body, a
name, interests, an occupation and a personality, each conditioned on
what was drawn before.
Also on npm as @dasmig/persona.
C++
02
Names
name-generator
A header-only C++23 library for generating real-world first names and
surnames from 105 cultures, and composes full names by each culture's convention
(family name first, two surnames, patronymics).
C++
03
Nicknames
nickname-generator
A header-only C++23 library for generating nicknames, supporting
name-based and custom-word-based nickname generation.
C++
04
Birthdays
birth-generator
A header-only C++23 library for generating demographically plausible
birthdays using UN WPP 2024 population data and seasonal patterns.
C++
05
Physical traits
biodata-generator
A header-only C++23 library for generating physical characteristics —
height, weight, eye/hair color, blood type — using population statistics.
C++
06
Interests
interest-generator
A header-only C++23 library for religion, hobbies and favourite film,
game, book and music genres, shaped by a person's country, age and sex —
measured from Eurostat time-use surveys where data exists.
C++
07
Personality
trait-generator
A header-only C++23 library for procedural personality generation —
traits from a weighted catalogue with conflicts, synergies and Big Five axes.
C++
08
Occupations
occupation-generator
A header-only C++23 library for employment status, education and jobs
by country, age and sex — measured from ILO labour force statistics
where data exists.
C++
09
Families
relationship-generator
A header-only C++23 library for believable families around a person:
parents and grandparents, siblings and half-siblings, partners, stepparents,
children and grandchildren, with dates and names drawn from each
country's demography.
C++
10
Cities
city-generator
A header-only C++23 library for generating random cities with
population-weighted selection from GeoNames data.
C++
11
Countries
country-generator
A header-only C++23 library for generating random countries with
comprehensive metadata — geography, politics, culture, and telecom.
C++
12
Addresses
address-generator
A header-only C++23 library for postal addresses with real streets by
place from OpenStreetMap, laid out in each country's format for 250
territories.
C++
13
Homes
property-generator
A header-only C++23 library for the home a household lives in, for 199
countries: dwelling type, tenure, rooms and bedrooms, floor area and year
built that fit the country, the place and the household, and a monthly cost
that fits the household's income.
C++
14
Weather
weather-generator
A header-only C++23 library for daily and hourly weather at any place on
land and any date: temperatures, rain, snow, thunder, cloud, wind and the
sun, drawn around the 1991-2020 climate normals with believable wet and dry
spells.
C++
15
Vehicles
vehicle-generator
A header-only C++23 library for cars that fit their country and date: a
make sold there, a model built in its model year, a fuel as common as it was
that year, a licence plate in the format issued on the registration date
and a VIN with a valid check digit, with a safe option for plates and VINs
nobody holds.
C++
16
Phones
phone-generator
A header-only C++23 library for phone numbers that are valid in each
country's numbering plan, drawn from libphonenumber's ranges, with a
safe option that uses the numbers regulators reserve for fiction.
C++
17
Emails
email-generator
A header-only C++23 library for email addresses in each country's style
from a name, nickname and birth year, with the providers people use
there and a safe option with the reserved example domains.
C++
18
Devices
device-generator
A header-only C++23 library for devices whose parts agree: a model on sale
at the date, an OS version it runs, a browser for it, the real user agent
and client hints that combination sends, its screen, and an IP address
registered in the country, with a safe option for documentation addresses.
C++
19
Identity
id-generator
A header-only C++23 library for identity numbers and documents that fit a
person and a date: national numbers for 63 countries, built from the birth
date, sex, birthplace and names where the format encodes them, and passports
and identity cards valid on the date with an ICAO 9303 machine-readable zone.
Test data, with a safe option.
C++
20
Finance
finance-generator
A header-only C++23 library for a person's bank accounts and payment cards,
consistent with the person, the country and the date: IBANs and national
account forms with their check digits, the country's banks and currency, and
cards with the right network, length, Luhn digit and a plausible expiry.
Test data, never for live payment systems.
C++
21
Users
user-generator
A header-only C++23 library for synthetic user records: a person with
a username, email, phone and address that agree on the country, plus
account details such as password, sign-up time, platform and locale, and on
request national numbers, documents, bank accounts and cards.
Also on npm as @dasmig/user.
C++
22
Entities
entity-generator
A header-only C++23 library for generating entities with extensible,
user-defined components. Supports EnTT and Flecs adapters.
C++