Garnavillo is located in Clayton county Iowa with a geographic area of 0.9 square miles. The total population in Garnavillo is 815 with 56.1% male and 43.9% female. Children under age 5 represent 7.9% of the population, under age 18 equal 21.7% of the population and over age 65 is 21.8% of the population. The median household income is $68,646, per capita income is $30,309. There are a total of 374 housing units with 78.1% owner occupied. Education includes 55.9% of residents that are high school graduates and 21.1% with a bachelor's degree or higher. The average temperature in Garnavillo in the summer is 73 degrees, and in the winter 23 degrees.