Medieval City Name Generator
Walled cities, cathedral towns and river ports of the Middle Ages
Tap a name to copy itPress Space for a new batch500 names in this generator
Generate medieval city names with the weight of real history: English boroughs and minster towns, French saint-and-river names, German burgs and Hanseatic ports, Italian hill cities and Iberian castle towns, plus Latin charter forms for maps, fantasy worlds and historical fiction.
About medieval city names
A medieval city name almost always describes the place or the power that founded it, and the names here are built on those real patterns. In England and the Low Countries the endings do the work: -burg, -bury and -borough mark a fortified town, -minster a cathedral or abbey city, -caster and -chester an old Roman fort, -wick a trading settlement, -mouth and -ford a river crossing or estuary, and -holm an island or river meadow (Wexminster, Saltcaster, Merrowmouth). French cities pair a saint with a landmark or river (Saint-Gervais-les-Tours, Châtillon-sur-Vesle), while Occitan bastides and castle towns use Castel-, Mont- and Roche-. German and Hanseatic names favour -burg, -stadt, -heim, -furt and -hafen; Italian hill cities take Monte-, Castel-, Borgo and Rocca-; Iberian towns use Villa-, Castro-, Puente and del Río.
The list mixes invented names with real medieval cities and their older spellings, because a convincing map needs both. Distinguishing tags (Old, New, Upper, Nether, Minor, -upon-, -le-) let one name spawn a family of satellite towns, and the Latin charter forms (Castrum, Civitas, Portus, Pons) give you what a scribe would have written. Trade and guild names (Cornmarket Gate, Tannersgate, Cordwainer's Cross) work as districts inside a larger city.
Tips for choosing a name
- Match the ending to the city's origin story: -minster or -abbey for a church city, -caster or -chester for one built on Roman ruins, -burg or -hold for a fortress town, -mouth, -wharf or Port for a harbour.
- Keep one linguistic family per region of your map. An English-sounding kingdom full of -burys and -wicks becomes unconvincing if a Montségur-le-Haut sits in the middle of it; use the French and German names for neighbouring realms instead.
- Grow the name over time. A city founded as Aldenburg can appear in later chronicles as Old Aldenburg, Aldenburg-upon-Weir or simply Aldenbury, which makes your setting feel like it has a history.
- Use the Latin forms (Civitas Morrow, Portus Albus) for charters, coins, church records and map legends, and the vernacular form for how people actually speak of the place.
- If you are writing historical fiction, check the real medieval spelling of any real city you borrow; many modern names (Bruges, Cologne, Florence) differ from what contemporaries wrote.
Frequently asked questions
What makes a city name sound medieval?
Compound structure and period endings. Real medieval cities were named for a founder, saint, river or defensive feature plus a suffix meaning fort, church, crossing or market (-burg, -minster, -ford, -wick, -hafen, -mont). Names that describe a place in an old language sound medieval; abstract or invented-sounding words do not.
What is the difference between a medieval city and a medieval town name?
In practice the endings overlap, but cities were usually cathedral seats, royal boroughs or major ports, so their names more often include -minster, -caster, -burg, Port or a saint, and they are more likely to have Latin charter forms and satellite names (Upper, Nether, -upon-). Our medieval town generator covers smaller market towns and villages.
Are these real medieval cities or made up?
Both. Most of the list is invented using authentic naming patterns so you can use it freely in fiction or games, and a portion are real medieval cities, older spellings or plausible historical variants included so the invented names sit alongside them convincingly.
Can I use these for D&D, Crusader Kings or other games?
Yes. The English and Latin names suit a generic fantasy kingdom, the French and Occitan names a chivalric or crusader realm, the German and Hanseatic names northern trading leagues, and the Italian and Iberian names southern city-states and castle towns. Pick one family per region for a coherent map.
All 500 medieval city names
Browse the full list
- Aldenburg
- Saint-Aubrey
- Castelmoor
- Caer Madoc
- Aberfell
- Thornwick
- Kingsmere
- Inverlorne
- Kilbrannon
- Montferrand
- Hollenstadt
- Ravensbruck
- Dunrothe
- Strathmorrow
- Carrowgate
- Lorimont
- Wexminster
- Ballyvaren
- Glenoran
- Brannoch
- Sainte-Ysolde
- Dunholm
- Carrickmoor
- Lismarrow
- Veltruscia
- Harrowick
- Altenhaven
- Tullowgate
- Saint Ambrose-on-the-Hill
- Porte-Marais
- Greycastle
- Ashminster
- San Lorenzo di Pietra
- Sankt Gallenau
- Belcourt
- Stormgate
- Vallencourt
- Sant'Elmo Maggiore
- São Vicente da Serra
- Ostenbrook
- Marrowgate
- Castroviejo
- Santa Brígida del Mar
- Saint-Gervais-les-Tours
- Fenmarch
- Kaltenberg
- Oldmarket
- Sainte-Marthe-du-Val
- Saint Edmund's Ferry
- Sarnwick
- Mondragone
- Whitecliff
- Monte Albarra
- Montecervino
- Hargrove
- Brisancourt
- Eldermoor
- Montségur-le-Haut
- Castel Vorano
- Valloria
- Corbenic
- Castelnuovo di Rocca
- Castellombre
- Rivenhall
- Pontefroy
- Saltcaster
- Château-Renard
- Châtillon-sur-Vesle
- Ludgarten
- Mistmere
- Aubervale
- Villa Serrana
- Villanueva del Puente
- Hawksminster
- Drummoor
- Frostholm
- Villafría
- Ponte Serrano
- Giselbrook
- Ilvermoor
- Kessendorf
- Pont-de-Ciel
- Pontarlier
- Lambourne
- Norwick
- Ormesby
- Bad Lindenfels
- Bad Rothau
- Queensgate
- Rhosmarch
- Stonewald
- Sieben Türme
- Hohentwiel
- Torwick
- Ulverscroft
- Weissenburg
- Regensfurt
- Wittenmarkt
- Yarrowford
- Ardenmoor
- Blackbridge
- Goslaren
- Marburg an der Lahn
- Caerwyn
- Dorncastle
- Estermont
- Trierberg
- Fallowmere
- Goldenhall
- Heathersgate
- Aachenfeld
- Quedlinau
- Ironminster
- Kettleby
- Langstrand
- Speyerbrück
- Wormsheim
- Merrowmouth
- Northold
- Oxenford
- Erfurth
- Magdelburg
- Penhallow
- Redcliffe
- Hildesholt
- Paderlund
- Thistlecaster
- Vireton
- Wardenbury
- Münsterau
- Soestburg
- Abbeford
- Bryngarth
- Cathedral Reach
- Bremenhafen
- Rostocken
- Duskwater
- Ellenmoor
- Ferriby
- Mindenhaven
- Fuldach
- Hallowmere
- Ingrave
- Schaffhausen
- Bruchsal
- Kirkenwald
- Lindisholm
- Maldenhurst
- Kaiserswerth
- Löwenstein
- Nethercaster
- Oakenshaw
- Pellingham
- Rabenstein
- Wolkenburg
- Rosmarch
- Stavenholt
- Eulenfels
- Hirschau
- Vaelmouth
- Wrexley
- Alcazar de Vieja
- Bärenwald
- Adlerburg
- Bastide-sur-Lys
- Carcassine
- Dravenholt
- Steinach
- Felsenthal
- Eisenmarkt
- Fontaine-le-Roi
- Gravenhurst
- Bergamo Alto
- Castrocaro
- Hochenwald
- Ivarsholm
- Kronenstadt
- Montefioralle
- Civita Vecchia
- Lucerna
- Marienhafe
- Neuburg am Stein
- Borgo San Donato
- Poggio Reale
- Oberwick
- Port Aldric
- Quarrenden
- Rocca Sparviera
- Torre Alfina
- Santa Margarida
- Tresanton
- Villefranche-sur-Orne
- Pietrasecca
- Vallombrosa
- Wyrmstead
- Aldgate Cross
- Bannockmere
- Serravalle
- Acquapendente
- Coldharbour
- Drakenmoor
- Emberwick
- Ripalta
- Colle Val d'Orca
- Flintbury
- Gallenmoor
- Haverbrook
- Murano di Sopra
- Altavilla
- Isenwick
- Kingscaster
- Lowgate
- Campofiore
- Fonterutoli
- Nightbury
- Ormwick
- Pendrake
- Belvedere Marittimo
- Lucignano
- Ravenholt
- Silvermarch
- Thornhollow
- Aguilar de Campos
- Medina del Río
- Underwell
- Wintermere
- Peñafiel
- Fuenterrabía
- Ashfell
- Bourne-upon-Mere
- Cragmoor
- Torrelaguna
- Cuéllar
- Dunmarrow
- Evermarch
- Falkenrath
- Sigüenza
- Trujillo de la Sierra
- Greyhaven
- Highwater Cross
- Ironhold
- Zafra
- Olite
- Jarrowick
- Kentmere
- Lochmarch
- Almudévar
- Tordesillas
- Marchwood
- Norwell
- Oldhaven
- Ciudad Rodrigo
- Puente la Reina
- Pennymoor
- Rookhaven
- Southmere
- Estella
- Belmonte de Tajo
- Tarnbury
- Vexmoor
- Westerhall
- Carcassonne-la-Neuve
- Aigues-Vertes
- Ambermoor
- Brightminster
- Callowhall
- Saint-Émilion-du-Bois
- Beaugency
- Dunkerran
- Elmbury
- Farrowmere
- Moret-sur-Loing
- Provins-le-Vieux
- Glimmerhall
- Hollowmarch
- Kestrelmoor
- Noyon
- Laon-sur-Crête
- Lanternmere
- Millgate
- Nettlebury
- Vézelay
- Cordes-sur-Ciel
- Osterby
- Pikeshold
- Quillmere
- Loches
- Chinon-le-Roi
- Ravensmarch
- Stagmoor
- Thornmere
- Rocamadour
- Sarlat
- Wolfenbury
- Arcadine
- Beaumarais
- Sancerre
- Vitré
- Castellane
- Delacourt
- Esteril
- Dinan
- Fougères
- Florenza
- Havremont
- Isoldine
- Guérande
- Bayeux
- Jorvane
- Kessalia
- Lumière-sur-Mer
- Dreux
- Évreux
- Marseline
- Narbonnais
- Orvalle
- Beauvais
- Senlis
- Pontmercy
- Quillane
- Rochemont
- Soissons
- Troyes-le-Neuf
- Sainte-Claire
- Tournelle
- Valmorin
- Langres
- Ambrosine
- Bellagrande
- Castroverde
- Nevers
- Bourges
- Doradillo
- Espinosa del Rey
- Forcalquier
- Autun
- Cluny
- Galdorim
- Hieraponte
- Ilmenreuth
- Tournus
- Brouage
- Jovanheim
- Kalvestad
- Lindheim
- Aigues-Mortes
- Ribeauvillé
- Mirabella
- Novograd
- Pradovia
- Kaysersberg
- Obernai
- Quenzelburg
- Rivordane
- Salamonte
- Riquewihr
- Turckheim
- Tarragonne
- Urbaniel
- Vorenholt
- Molsheim
- Bergheim
- Westfalenmark
- Ysmarch
- Zarendell
- Mittelbergheim
- Hrabovec
- Abbotsmoor
- Canonsbury
- Friarsmere
- Zvolenice
- Kostelec
- Monksford
- Priory Cross
- Saintsbridge
- Vranov
- Hluboká
- Chantry Hill
- Cloisterhaven
- Minsterholm
- Strakonice
- Trebonne
- Reliquary Gate
- Pilgrim's Reach
- Hallowgate
- Telč
- Slavonice
- Kingsrest
- Queensmere
- Dukesbury
- Prachatice
- Lednice
- Earlswood
- Crownhaven
- Thronehall
- Mikulov
- Znojmo
- Heraldsgate
- Seneschal's Reach
- Wardenmoor
- Kutná Hora
- Esztergom
- Weaversholm
- Tannersgate
- Fletchersgate
- Kőszeg
- Sopron
- Cordwainer's Cross
- Goldsmiths' Reach
- Furrier's Gate
- Visegrád
- Eger
- Haymarket Cross
- Cornmarket Gate
- Pécs
- Gyula
- Sárospatak
- Siklós
- Bridgetoll Cross
- Wharfmere
- Quayhold
- Sümeg
- Harbourgate
- Lighthaven
- Seacastle
- Kalmar
- Tideholm
- Strandmere
- Shingle Cross
- Vadstena
- Visby
- Cliffhaven
- Port Greymere
- Port Wexley
- Sigtuna
- Skara
- Port Saint-Aubin
- Port Valdemar
- Ribe
- Roskilde
- Old Aldenburg
- Viborg
- Tønsberg
- Nidaros
- Kalundborg
- Aldenburg-upon-Weir
- Ystad
- Lödöse
- Whitethorn
- Ironhallow
- Castrum Aldenis
- Sablecross
- Civitas Morrow
- Urbs Ferrara
- Villa Regis
- Wickenmoor
- Dunstable
- Portus Albus
- Mons Regalis
- Pons Aurelius
- Fallowhold
- Gildenbury
- Fanum Sancti Aldric
- Aquae Vireton
- Lacus Mirren
- Hexmere
- Kingswold
- Vallis Orvane
- Aldenbrecht
- Bramhall
- Lorwick
- Brackenford
- Saint-Loup-de-Vire
- Hohenmark
- Rocca d'Averno
- Villarreal de Soto
- Coldminster
- Eschenfurt
- Pont-Saint-Amand
- Castelferro
- Guildham
- Ravensford
- Lindenhafen
- Torre Bianca
- Alcázar de Montiel
- Wyvernhold
- Sainte-Odile-des-Prés
- Friedenstadt
- Borgo Vecchio
- Puente de Alba
- Cherrington
- Stanwick Magna
- Roche-aux-Moines
- Greifswalde
- Monte Sant'Angelo Minore
- Villaverde del Camino
- Kelmarsh
- Brienne-le-Château
- Falkenhafen
- Ulmstadt
Related generators
Medieval Town Name Generator
Market towns, villages and walled boroughs
Medieval Kingdom Name Generator
Realms, Duchies, and Crowns of the Middle Ages
Medieval Country Name Generator
Kingdoms, duchies, marches and free cities
Fantasy City Name Generator
Capitals, Ports and Hidden Cities for Your World
Castle Name Generator
Keeps, holds, and citadels worthy of a siege
City Name Generator
Realistic Modern and Fictional City Names
More in Places & Geography
Egyptian Kingdom Name Generator
Nile-Born Kingdom Names for Realms of Sand and Reed
Spanish Town Name Generator
Pueblos, villas and aldeas that sound real
Wild West Saloon Name Generator
Frontier saloons, dance halls and gambling dens
Volcano Name Generator
Real-sounding and fantasy names for volcanoes and fire mountains
Random Continent Name Generator
Landmasses big enough to hold a whole story
English City Name Generator
Believable English City Names for Maps and Stories