Hamilton is a city in Marion County, Alabama, United States. It incorporated in 1896. At the 2010 census the population was 6,885. The city is the county seat of Marion County and since 1980 has been its largest city, surpassing Winfield. It had previously been the largest town in 1910.