http://www.differencebetween.net/miscellaneous/politics/difference-between-city-and-town/ a city is bigger and more populated than a town.
It's not always clear in English either. Maybe Semitic cognates can help a little. In general, a village is כפר // same in Aramaic, e.g., Capernaum ("Nahum's village"), cognate to Arabic كفر. The word קריה // same in Aramaic, can be a town or a city and is cognate to قَرْيَة. The words עיר (city) and עיירה (town) are not Aramaic. The Aramaic word for city was מדינה, which is cognate to Arabic مدينة. Eventually מדינה also took on the meaning province (large area) in Aramaic, which came into classical Hebrew with that sense, but now in Israeli Hebrew מדינה refers to a state or country.