This is a very culture-dependent topic that even changes with time. I had to look up what the difference between a town and a city is even supposed to be. If a settlement with 100k people is a "small-city" then we quickly end up with the conclusion that Hungary hardly has any cities apart from Budapest as there are like 5 other places with 100k+ population - so this kind of differentiation feels useless. It's all just "város". Officially, many 1-2k places are "város"es, although that's a bit ridiculous in my opinion. But I feel it would be the same kind of ridiculous to call Pécs or Székesfehérvár a "kisváros", which I think is the closest to an equivalent of "town". A place I would call a "kisváros" has like 20k-60k population, preferably some basic hospital, a hypermarket but probably no university.
How to hungarians differentiate between cities and towns?
It's pretty much an artificial distinction in English.
Some cities are very small (St Asaph has about 3500 inhabitants), some towns are big.
Some cities are cities because they got "awarded" the title, more or less at random.
So even in English, there is no objective distinction between the two words.
For one, English isn't the only language with such a distinction, and the words city and town are used in translation of, say, Japanese shi and cho. Town is from Old English and city used to refer to certain towns since Middle English. London Town, say, is the old part of the city. Interestingly (from http://220.127.116.11/word/v%C3%A1r ) város is made up of vár + -os, vár being cognate with war in English meaning a fortification/castle. So it's a castle town, something with a castle. I wonder half-seriously if city might be városos. This would explain why it sounds ridiculous in their language . . .
Oh, the answer seems to be that you use the English words city and town: "Az angol nyelvben két szó is megfelel a magyar város kifejezésére: city és town." -- https://hu.wikipedia.org/wiki/V%C3%A1ros