induwara.lk
induwara.lkGenerator · Utility

Random Name Generator — by origin, gender, and style

Generate up to 100 random names at a time — filter by origin (English, Sinhala, Tamil, Spanish, Japanese, fantasy, sci-fi), by gender, and by format (full name, first only, username, email). Every batch comes with a shareable seed, so a teammate opening your link sees the same list. No signup, no ads, nothing uploaded.

By Induwara AshinsanaUpdated May 11, 2026
Generate random namesSeedable · runs in your browser
No uploads · 2026
Origin
Origins selected
2/7
English + Sinhala (Sri Lanka)
Name space
6,835
Distinct first × last combos
Entropy per name
12.74 bits
log₂(name space)
Your names
  • Preparing your first batch…
Names are sampled from curated, public-domain frequency tables. Each list flows through a seeded Mulberry32 PRNG so the same seed always returns the same names — share the URL and the viewer sees your exact batch. Nothing leaves your browser.

How it works

The generator pairs a randomly drawn first name with a randomly drawn surname, both pulled from origin-specific lists. There are seven origin pools: English, Sinhala (Sri Lanka), Tamil, Spanish, Japanese, a high-fantasy set, and a near-future sci-fi set. The English, Sinhala, Tamil, Spanish, and Japanese lists are derived from public-frequency tables published by census bureaus and registry offices in those countries — sources are cited at the bottom of this page. The fantasy and sci-fi lists were written for this tool and are original.

Each pick goes through three steps. (1) An origin is picked uniformly across the boxes you ticked — equal weight, so checking “English” and “Sinhala” gives you a 50/50 mix regardless of which origin has the longer list. (2) A gender is resolved. In “any” mode the male and female pools of the chosen origin are concatenated, so neither side is over-represented when pool sizes differ (the English pool has 33 male and 33 female names — the weighting still matters for origins like Japanese where pools come out slightly differently). In male or female mode, only that pool is used. (3) A first name is drawn from the resolved pool and a surname from the (gender-neutral) surname list of the same origin. For username and email formats, an extra random draw appends a 2-digit numeric suffix or strips the name to ASCII for [email protected]form.

Randomness flows from a 32-bit Mulberry32 PRNG (public domain, by Tommy Ettinger). The PRNG is seeded with an integer that's drawn fresh from the browser's Web Crypto API (crypto.getRandomValues) when the page loads, so each new batch is cryptographically unpredictable. The seed itself is then shown in the UI and round-trips through the URL — clicking “Copy link” adds ?seed=… to the address, and anyone opening it sees your exact batch. This design is the standard trick for free-tier name pickers: the unpredictable choice is the seed; everything downstream is deterministic so it can be reproduced for screenshots, code reviews, or test fixtures.

The “name space” figure on the tool shows N = Σ (firstPool × surnamePool) across the origins you ticked, and the entropy figure is log₂(N) — the number of bits an attacker would need to guess to predict your next single name. With all seven origins on and gender = any, the space is 21,114 unique full-name combinations across 508 first names and 292 surnames. That's about 14.4 bits per draw — plenty for fiction, test data, or character casts, but a long way short of what you'd use for a password or token.

The tool runs entirely in your browser. There is no server-side endpoint that sees your choices or the names, no analytics on the generated values, and the entire wordlist ships as part of the page bundle. You can disconnect from the internet after the page loads and the generator still works.

Worked examples

English × Sinhala mix, 5 names, gender = any, format = full name

  1. Origins selected: English (66 firsts × 56 surnames) + Sinhala (73 firsts × 43 surnames)
  2. Name space = 66 × 56 + 73 × 43 = 3,696 + 3,139 = 6,835 combinations
  3. Entropy per name = log₂(6,835) ≈ 12.74 bits
  4. Seed → random 32-bit int (e.g. 0x7ab21f3c)
  5. Output (with seed 1, deterministic): John Wright, Liam Richardson, Hannah Martin, Christopher Clark, George Robinson

Fantasy, 10 names, gender = female, format = first only

  1. Origins selected: Fantasy (38 female firsts × 39 surnames)
  2. Format = firstOnly → surname draw is performed but discarded
  3. Name space (for the firsts used) = 38 distinct given names
  4. Entropy per name = log₂(38) ≈ 5.25 bits
  5. Output (with seed 42, deterministic): a list like Lyrina, Briar, Iyla, Saoirse, Calliope, Mireille, Wren, Aelin, Faye, Una

All origins, 25 names, gender = any, format = email

  1. Origins selected: all 7
  2. Name space = 21,114 combinations (≈ 14.4 bits per name)
  3. Format = email → first.last @ example.com, lowercase ASCII
  4. Diacritics stripped before formatting: García → garcia, O'Brien → obrien
  5. Same seed always reproduces the exact 25-item list, including the order

Frequently asked questions

Sources & references

Related tools

Rate this tool
Be the first to rate

Comments & feedback

Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.

Found a bug, missing an origin, or want to suggest a name list?

Email me at [email protected] — most fixes ship within 24 hours.