Garnavillo, IA has a population of 824 and is the 16,395th largest city in the United States. The population density is 806 per sq mi which is 1375% higher than the Iowa average and 790% higher than the national average. The median age in Garnavillo is 47 which is approximately 24% higher than the Iowa average of 38. In Garnavillo, 51% of the population over 15 years of age are married, 98% speak English and 1% speak Spanish. 69% of Garnavillo residents were born in Iowa, 30% were born out of state, 0% were born outside of the United States and 1% were foreign born.