Fantasy Town Name Generator
This fantasy town name generator builds English-style place names, like Hazelford, Upper Saltcombe or Miller’s Crossing, and gives each one a one-line hook such as “a village whose mayor is chosen by a goat”. Pick a region and a settlement size, press Generate, and you get a fresh batch of towns and villages ready to drop on your map.
Generate town names
How to use the town name generator
- Choose a region: Any land, Coast, Forest, Hills, Marsh, Plains, Mountains or River.
- Choose a size: Any, Hamlet, Village or Market town.
- Press Generate towns to get a new batch of names, each with a size, region and hook.
- Copy a single result, favourite the ones you like, or use “Copy all as Markdown” for your session notes.
How the names are built
Most English place names are two pieces glued together: a word that describes the spot (a tree, an animal, a colour, an owner, a trade) and a word for the kind of place it is (a farm, a ford, a clearing, a hill). The generator copies that logic. It takes a descriptive first element and a settlement or landform ending, joins them, and smooths out awkward consonant clusters at the seam. Oak + ford gives Oakford. Heron + staithe gives Heronstaithe.
About two names in five use a different pattern:
- A prefix: Upper, Lower, Little, Great, Nether, Old, East or West, as in Lower Thornwick.
- A river suffix: Ashley-on-Wend, where the river name is invented.
- A landmark: Crow Crossing, Fen Causeway.
- A saint: St Wenna’s Green.
- A trade or title: Reeve’s Corner, Widow’s Mill.
Each region has its own word banks. Coast towns pull from salt, gull, kelp and ends like -haven, -cove and -ness. Marsh towns get reed, eel, heron, -fen, -staithe and -carr. Mountain towns get crag, flint, scree, -pass and -gill. Every region also mixes in a shared pool of common English elements, so a forest village can still end in -ton.
What common endings mean
These are general facts about English place names, and they are a quick way to make a name say something about the land.
| Ending | Rough meaning | What it suggests at the table |
|---|---|---|
| -ford | a shallow river crossing | a road, a river, travellers |
| -wick | a dwelling or trading farm, often specialised | dairy, salt, a market outpost |
| -ton | a farmstead or enclosed settlement | an ordinary, established village |
| -by | a farm or village (Norse) | settlers from somewhere else |
| -thorpe | a small outlying farm (Norse) | a daughter hamlet of a bigger place |
| -ley / -leigh | a clearing in woodland | farmland cut out of forest |
| -ham | a homestead or village | old, settled, quietly prosperous |
| -mere | a lake or pool | water, mist, fishing |
| -holt | a wood or thicket | forest close at hand |
| -combe | a small, steep valley | sheltered, hidden, hard to reach |
| -bury | a fortified place | old walls, a ruin, a lord’s seat |
| -hurst | a wooded hill | a high place with trees |
Making a region feel coherent
Real counties have accents in their place names. One valley is full of -thorpes and -bys because the same people settled it. The next has -combes because of the terrain. You can fake this cheaply.
- Pick one region in the generator and generate two or three batches.
- Keep the names that share an ending or a first element, and throw away the outliers.
- Use one odd name on purpose, at the border. A single -by among -tons hints that someone else once held that land.
The dwarf name generator and elf name generator are useful for the places that do not follow English logic at all, like a hold in the mountains or an old forest ruin.
Hamlet, village or market town
The size labels are a game master’s shorthand, not census data:
- A hamlet is a handful of houses. No church, no inn, maybe a mill. Everyone is related to someone. The party cannot buy anything there except what a farmer is willing to sell.
- A village has a shrine or small temple, probably one inn, a smith and a reeve or headman. It can feed a party for a night and has one or two people worth talking to.
- A market town has a weekly market, several inns, a guard or watch, and a few people who can read. This is where the party sells loot, hears rumours and gets arrested.
Choosing Any size gives mostly villages, some hamlets and fewer towns, which roughly matches how a countryside actually looks.
Using the hook to start a session
Each result comes with a hook, like “a hamlet where the lanterns on the marsh are never followed” or “a market town that pays its taxes in candles”. Treat the hook as a question rather than an answer. Why candles? Who collects them? What happens in the year they run short? One of those questions is usually enough for an evening.
If the hook does not fit, keep the name and reroll the hook in your head, or generate another batch. Then fill the town with a few people from the NPC generator and give it an inn from the tavern name generator.
Frequently asked questions
How do you come up with a fantasy town name?
Join a descriptive word (a tree, animal, colour or trade) to an ending that names the kind of place, such as -ford, -ton, -ley or -mere. Thornford, Elmley and Gullmere all work because they describe the land the way real English names do.
Can I use this as a village name generator?
Yes. Set the size to Hamlet or Village and every name in the batch will be labelled at that size, with hooks that fit a small settlement.
What does the region setting change?
Each region has its own word banks and endings. Coast names lean on -haven, -cove and -port, marsh names on -fen and -staithe, mountain names on -pass and -crag, and every region also draws from a shared pool of common English elements.
Are these real place names?
They are built from real English place-name elements, so some combinations may match a real village somewhere. The hooks and the combinations are generated, not taken from a list of real towns.
How do I share a batch of towns with my players?
Copy the page URL. It carries the region, size and seed, so anyone who opens the link sees exactly the same names and hooks.