In America we never use the word village. There are no villages in the USA.
That's kind of a hard question to give a precise answer too. There isn't an answer that you can just look up on this. In the USA, we usually only use town when we are talking about small retail areas in rural communities. In the country, the place where people would go to buy groceries, do some shopping, and go to the post office would be a town. Cities are densely populated locations. I wouldn't call anything a city unless the population was several thousand people.
If you stick to calling built up, densely populated places cities and small retails areas in the countryside towns you will be correct 99% of the time. That works for America. In the UK, it's totally different.