Of course, medieval times lasted for centuries. This means that there was some variation in urban environments over time. In addition, there were medieval cities in many different places. This, too, makes for variation. However, there are some physical characteristics that were common to most medieval cities in Europe.
First, medieval cities had small populations relative to cities today. In 1200 AD, for example, London was the largest city in England just as it is now. However, in those days, it held only about 30,000 inhabitants.
Second, the small population was due in part to the small physical size of the cities. Cities needed to be walled as a means of defense. The larger a city grows, the more difficult it is to wall it. Therefore, cities tended to be very small and very crowded.
Third, cities were dirty places. With the crowding just mentioned, and with the fact that there were no sewer systems, cities were filthy. There was, of course, human excrement but there was also the excrement from large numbers of animals. Much of this ended up in the streets which were largely made of dirt.
Finally, cities were extremely susceptible to burning. The houses were crowded close together and made of wood. Open flames were typically used for cooking, heat, and lighting. This meant that fires were relatively common and could spread easily.