Fantasy City Names
This is fantasy city name generator output, not a list somebody wrote out: the twenty-four
names below came from one seed (20261032) of the same settlement tier the
DnD town names page uses. The measurement further down is the part worth
keeping — what happens to the forty-four head words when a map stops having villages and starts
having cities.
The names
- Bramblethwaite
- Eastham
- Marrowby
- Longworth
- Oldwick
- Blackton
- Millthorpe
- Ironton
- Wyndworth
- Westham
- Oakton
- Heathworth
- Marrowham
- Longby
- Raventon
- Elmworth
- Fenwick
- Greyworth
- Brambleham
- Eastford
- Ashton
- Ridgeby
- Stonewick
- Greythwaite
Forty-four heads, however many endings you give them
The tier carries 19 culture rows and 8 endings each, so 152 suffix slots against 44 head words. Five join rules cut the pairs down to 6,165 usable combinations — a number in the thousands, which is why the name pool never feels small. The head words are the part that does not scale: there are 44 of them, and every city on your map competes for the same 44.
So the honest question at city scale is not how many cities you can name, but how soon two cities share a first element. Fifty batches per size, same generator, seeds 20261032 upward:
| Cities drawn | Mean distinct heads | Lowest | Highest |
|---|---|---|---|
| 10 | 9.3 | 8 | 10 |
| 25 | 19.7 | 16 | 22 |
| 50 | 31.2 | 28 | 35 |
| 100 | 41.2 | 37 | 44 |
| 200 | 44 | 44 | 44 |
| 400 | 44 | 44 | 44 |
At fifty cities a map has already spent about thirty-one of the forty-four heads; by a hundred it is at forty-one. Every head has appeared by draw 139 at the median across those fifty runs, and none of the runs needed more than 600.
Why the textbook number is wrong here
The coupon-collector estimate for 44 equally likely heads is 44 × H44 = 44 × 4.3727 ≈ 192 draws. The generator finishes 53 draws earlier than that, and the reason is in the code: heads come out of a counter pool, not independently at random, so a head that has already been used is less likely to come back. The measured 139 is what that balancing buys. Anyone quoting 192 for this generator is quoting a formula that does not describe it.
It is also why a city map starts to feel repetitive before the names themselves repeat. The ending and surname layers have thousands of combinations between them; the first element has 44.
What to do about it when you name a city
Change the ending, not the head. Ashford and Ashton read as two places in the same region because the endings carry the difference; Ashford and Brambleford read as two places that happen to share a river. When a city has to sit next to another city with the same head, the fix that survives a map is a qualifier in front — the Free City of Ashton — not a new head word.
If you are naming at scale, take endings from different culture rows. The nineteen rows share the 44 heads but not their endings, so a dwarven -hold next to an elven -vale stops feeling like a repeat even when both cities start with Stone.
Where the endings come from
Nineteen culture rows, eight endings each, listed with their origin on the town names page; the narrower village tier is on the village names page. Nothing here is a separate word list — a city name on this page is the same settlement tier, measured at a size where the head pool becomes the constraint.
Questions this page answers
Is there a separate city tier in the generator?
No. There are two settlement tiers, town and village, and this page uses the town tier. The difference between a village and a city in this material is how many you draw, not which table you draw from — which is exactly why the head count matters.
How many city names before the first elements repeat?
Two cities share a head well before fifty draws; all forty-four heads are in use by draw 139 at the median. The ending is what keeps two such names apart.
Can I use these names?
Yes. They are generated from the site's own syllable tables, they are not taken from any published setting, and the pools are open source at github.com/RayJ7/dnd-name-forge-pools under MIT.
Reproduce this page
Seed 20261032, the 24 names above in order. The saturation table is fifty runs per row at seeds
20261032 to 20261081, counting distinct heads in the first n names of each run. The head pool is
TOWN_PRE in namegen.js, the endings are TOWN_SUFFIX, and the five join
rules are the tests in townPair. Every figure above rebuilds from those three things; the
generator itself is at the dnd name generator.