In many countries of the world, people can confidently tell you the meaning of their town or city, but most people who live in Manchester, Oxford or Birmingham would not be able to explain what the name of their city means.
celts
Two thousand years ago, most people living in Britain were Celts. Even the word ‘Britain’ is Celtic. Then the Romans arrived and built camps that became cities called ‘castra’. This is why there are so many place names in England which end in ‘-chester’ or ‘-caster’. Like Manchester, for example. The Romans never reached Wales or Scotland and many place names there are Celtic.
anglo-saxons
After the Romans left Britain, it was attacked by tribes called the Anglo-Saxons who were from the area of Europe that is now Germany and Holland. The names of their villages often ended in ‘-ham’ or ‘-ton’. Some got their name from the leader of the village, so Birmingham, for example, means ‘Beormund’s village’. The Anglo-Saxons were farmers and the landscape was very important to them, so we have villages called Upton —meaning ‘village on a hill’, a good place to build a village— and Moreton —meaning ‘village by a lake’, not so good a place, since floods could make life tough.
Similarly, Oxford was first occupied in Saxon times as it was a place where oxes could cross —or ford— the river Thames (known in Oxford as the Isis.)
vikings
Twelve hundred years ago, the Vikings came to England from Scandinavia. They traded with the Anglo-Saxons but lived in their own villages. These often ended in ‘-by’ or ‘-thorpe’. The name ‘Kirkby’ means ‘a village with a church’ and Scunthorpe was the village of a man called Skuma.
romans
And how about London? Experts cannot agree! The Romans called the city Londinium, but they were not the first inhabitants. Our best guess today is that the name comes from a Celtic word meaning a fast-flowing river. Like a number of British place names, its history is lost in time!