Ye Olde Netherlands: Dutch Town Names in Their Oldest Written Forms
The Romans reached the Rhine delta around 19 BC and stayed for roughly four centuries. When they left, their settlement names did not leave with them. Noviomagus, their city on the Waal River, gradually wore down into Nijmegen over 1,900 years of spoken Dutch. Trajectum, the fort at a crossing on the Rhine, became Utrecht. Trajectum ad Mosam, the fort at the Meuse crossing, became Maastricht. None of those changes required a decision. They happened through generations of everyday speech, one small phonetic compromise at a time, until the Roman original was no longer recognizable.
The map below, created by Victor van Werkhooven, shows what Dutch city names would look like if language change did not exist and the first recorded written form of every town name were still in use.

Amsterdam was Amestelledamme in 1275, when Count Floris V of Holland granted its residents free passage through his territory without paying bridge tolls. That document is the oldest known written record of the settlement. Den Haag was Haga in 1242, from Middle Dutch for a hedged enclosure used by the Count of Holland as a hunting ground. Arnhem was Arneym in 893, recorded in a property register of the Abbey of Prüm. Leeuwarden, the capital of Friesland, was Villa Lintarwde around 750, appearing in a document from the Abbey of Fulda. Groningen was Villa Cruoninga in 1040, from a Holy Roman Empire charter.
On the map above, both Utrecht and Maastricht are labeled Traiecto. That is not an error. Both derived from Trajectum, the Latin word for a river ford or crossing, and both sit at points where major rivers could be crossed. The Romans named them independently for the same reason, centuries apart, and the coincidence survived into their modern names, separated only by the prefix that eventually attached to Utrecht to distinguish it from the one on the Meuse.
| Modern name | Earliest recorded form | First written record |
|---|---|---|
| Utrecht | Traiectum | ~47 AD |
| Cologne | Colonia Agrippina | ~50 AD |
| Nijmegen | Noviomagus | ~100 AD |
| Maastricht | Traiectum (ad Mosam) | Roman era |
| Tilburg | Tilliburgis | 709 |
| Leeuwarden | Lintarwde | ~750 |
| Almere | Aelmere | 753 |
| Apeldoorn | Appoldro | 8th century |
| Arnhem | Arneym | 893 |
| Haarlem | Haralem | 918-948 |
| Groningen | Cruoninga | 1040 |
| Zwolle | Swolle | 1040 |
| Dordrecht | Thuredrith | 1064 |
| Delft | Delf | ~1075 |
| Enschede | Anneschethe | 1119 |
| Breda | Breda | 1125 |
| Emmen | Emne | 1139 |
| ‘s-Hertogenbosch | Orthen cum Buscho | 1196 |
| Eindhoven | Endehoven | 1232 |
| Den Haag | Haga | 1242 |
| Amsterdam | Amestelledamme | 1275 |
| Rotterdam | Rotterdam | 1283 |
| Antwerp | Andouerpis | medieval |
The map also extends into modern Belgium and Germany, applying the same logic throughout. Antwerp becomes Andouerpis, Ghent becomes Ganda, Brussels becomes Brudocsele. Cologne, in the bottom right corner, carries its full Roman name Colonia Agrippina, the form that survives in the modern German Köln and the French Cologne.



