Random Last Name Generator
Generate random last names from 800+ real surnames across 10+ ethnic origins. Filter by origin, set quantity, copy results instantly.
About
Character naming in fiction, database seeding for QA, and anonymization of PII datasets all share one constraint: the surnames must be statistically plausible. A purely invented string like "Zxqvt" fails the plausibility test. This generator draws from a curated pool of 800+ verified surnames spanning Anglo-Saxon, Germanic, Slavic, Romance, Nordic, East Asian, South Asian, Middle Eastern, African, and Latin American origins. Selection uses a Fisher-Yates shuffle to guarantee uniform distribution with no index bias. Duplicate suppression within each batch is enforced, so requesting n names always yields n distinct results (up to pool size). The tool does not fabricate phoneme combinations. Every surname exists in real census or genealogical records.
Limitations: origin categories are broad groupings, not precise ethnolinguistic classifications. A surname tagged "East Asian" may be Chinese, Korean, or Japanese. Regional frequency weighting is not applied - a rare surname has equal selection probability to a common one within its origin group. For demographic-accurate frequency distributions, consult national census microdata (e.g., U.S. Census Bureau surname list ranked by frequency).
Formulas
Surname selection uses the Fisher-Yates (Knuth) shuffle algorithm to produce an unbiased random permutation of the filtered pool, then slices the first n elements:
j = floor(random() × (i + 1))
swap(pool[i], pool[j])
The probability of any single surname appearing in position k is uniform:
Where m = size of the filtered surname pool, n = requested quantity (1 ≤ n ≤ min(100, m)), j = random index in the range [0, i]. This guarantees each of the m! permutations is equally likely, avoiding modulo bias present in naive implementations.
Reference Data
| Origin | Example Surnames | Pool Size | Typical Regions |
|---|---|---|---|
| Anglo-Saxon | Smith, Clarke, Fletcher, Thatcher, Hayward | 100 | England, Australia, Canada |
| Germanic | Müller, Schneider, Fischer, Braun, Hoffmann | 80 | Germany, Austria, Switzerland |
| Celtic | O'Brien, Sullivan, MacLeod, Brennan, Gallagher | 70 | Ireland, Scotland, Wales |
| Slavic | Novak, Petrov, Kowalski, Horvat, Volkov | 80 | Poland, Russia, Czech Republic, Croatia |
| Romance | Rossi, Moreau, García, Ferreira, Dumont | 90 | Italy, France, Spain, Portugal |
| Nordic | Lindgren, Johansson, Haugen, Virtanen, Andersen | 70 | Sweden, Norway, Denmark, Finland |
| East Asian | Tanaka, Kim, Wang, Chen, Nakamura | 80 | Japan, Korea, China, Taiwan |
| South Asian | Sharma, Patel, Das, Perera, Khan | 70 | India, Pakistan, Sri Lanka, Bangladesh |
| Middle Eastern | Al-Rashid, Hashemi, Yilmaz, Khoury, Sadiq | 70 | Turkey, Iran, Lebanon, Saudi Arabia |
| African | Okafor, Mensah, Diallo, Mbeki, Nkomo | 60 | Nigeria, Ghana, Senegal, South Africa |
| Latin American | Hernández, Castillo, Vargas, Mendoza, Ríos | 70 | Mexico, Colombia, Argentina, Peru |