GeoNames

The GeoNames geographical database covers all countries and contains over eleven million placenames that are available for download free of charge.