Hamilton is a city in Marion County, Alabama, United States. At the 2020 census the population was 7,042.[2] The city is the county seat of Marion County.