Elgin is a city located in Fayette County, Iowa. Elgin has a 2026 population of 676. Elgin is currently declining at a rate of -0.44% annually and its population has decreased by -1.46% since the most recent census, which recorded a population of 686 in 2020.