dnd name forge

30,000 D&D names, measured

Every name on this site comes out of the same generator. That makes one thing possible that other name sites cannot do: run it tens of thousands of times and publish what it actually produces. Below are 30,000 names — 10,000 human, 10,000 elf, 10,000 tiefling — and the three numbers that decide whether a batch looks generated or hand-made.

Sample and method, before any conclusion.

10,000 names per group. Elf = High Elf, Wood Elf, Drow and Half-Elf at 2,500 each. Seed 20261020, gender Neutral, the five styles (gritty, noble, archaic, wild, grim) cycled evenly. One batch tracker per 10,000 names, so the caps are computed for n = 10,000 rather than the site's default 200.

Opening = the letters before the first vowel of the given name. Closing = the closing syllable the generator appends. Clan = the second word. Everything below is counted from that run; nothing is estimated.

What the 30,000 names show

1. No clan runs away with the batch. All 64 human clans appeared in 10,000 names, and the busiest one took 157 names — 1.57%. Elf spread across 128 clans (four cultures), busiest 119 — 1.19%. Tiefling: 64 clans, busiest 157 — 1.57%. There is no default clan, which is what keeps a 200-name roster from looking like one family with a typo.

2. The evenness is a cap, and at 10,000 names the cap starts to bite. Human has ten closings. The generator caps any one closing at ceil(n / closings × 1.25); at n = 10,000 that is 1,250. Two closings, -ley and -ford, sit exactly at 1,250 (12.50%) while the other eight sit at 938 (9.38%). None exceeded the cap; two pressed against it. At the site's normal 200-name batch the same formula gives ceil(200 / 10 × 1.25) = 25 — that is where the "no closing syllable appears more than 25 times in one batch" behaviour comes from.

3. Openings follow the culture, not the site. Human spreads over 12 onsets, from W at 8.64% down to S at 8.14%. Tiefling spreads over 10, N at 10.77% down to Dr at 9.33%. Elf spreads over 19, because four elf cultures share one table: V, L and S lead at 9.88%, 9.83% and 9.80%, while rarer elf starts fall under 2%. If two elf names feel related, this is the reason — they are drawing from the same 19 openings and the same 30 closings.

The distributions

Human — 10,000 names, 64 clans, 10 closings

Most common openings
OpeningNamesShare
W8648.64%
R8638.63%
J8508.50%
L8488.48%
B8488.48%
D8338.33%
C8308.30%
M8228.22%
Most common closings
ClosingNamesShare
ley1,25012.50%
ford1,25012.50%
ell9389.38%
ins9389.38%
an9389.38%
ic9389.38%
er9379.37%
ay9379.37%
Busiest clans
ClanNamesShare
Blackmoor1571.57%
Ashmoor1571.57%
Ashwick1571.57%
Ashcott1571.57%
Draycott1571.57%

Examples drawn from this run: Lorer Greyholt, Suteley Blackmoor, Guceford Ashmoor, Saimay Redgate, Samiley Drayholt, Ralell Blackford

Elf — 10,000 names, 128 clans, 30 closings

Most common openings
OpeningNamesShare
V9889.88%
L9839.83%
S9809.80%
M9499.49%
N9139.13%
R7477.47%
Th7167.16%
F7067.06%
Most common closings
ClosingNamesShare
wyn8078.07%
or7687.68%
ath6786.78%
rin5495.49%
ar4954.95%
ir4944.94%
eth4364.36%
il4194.19%
Busiest clans
ClanNamesShare
Fernwake1191.19%
Starshadow1181.18%
Dawnwhisper1181.18%
Moonwhisper1181.18%
Galewake1181.18%

Examples drawn from this run: Thialas Galehollow, Vaebrowyn Fernwind, Salosess Shadowspire, Jivenan Nightwhisper, Mariador Starshadow, Mamen Fernleaf

Tiefling — 10,000 names, 64 clans, 10 closings

Most common openings
OpeningNamesShare
N1,07710.77%
S1,05810.58%
B1,02310.23%
M1,01410.14%
Z1,00410.04%
D9939.93%
K9899.89%
V9739.73%
Most common closings
ClosingNamesShare
eth1,02310.23%
ath1,02210.22%
ion1,02110.21%
aes1,01510.15%
in9969.96%
us9939.93%
or9879.87%
el9859.85%
Busiest clans
ClanNamesShare
Bloodwrit1571.57%
Sorrowfall1571.57%
Bloodveil1571.57%
Paleshade1571.57%
Thornwrithe1571.57%

Examples drawn from this run: Vilus Bloodfall, Naedremion Bloodwrit, Baedemumin Nightfell, Mosor Thornfall, Thedanaes Sorrowfall, Mimeth Bloodveil

What this means when you are picking names

Reproduce it

The script is on this site at /assets/namegen-stats.js. Open any page here, open the browser console, and paste one line:

var s=document.createElement('script'); s.src='/assets/namegen-stats.js'; document.body.appendChild(s);

It uses the same seed, the same 10,000-name groups and the same definitions, and prints the tables above with console.table. Change seed, n or the culture list at the top of the file and you get a different sample of the same generator — the counts move, the shape does not.

Back to the generator