Garner is a city in and the county seat of Hancock County, Iowa, United States. The population was 3,129 in the 2010 census, an increase from 2,922 in the 2000 census.