Weaver is a city in Calhoun County, Alabama, United States. At the 2010 census the population was 3,038. It is included in the Anniston-Oxford, Alabama Metropolitan Statistical Area.