Garnavillo es una ciudad ubicada en el condado de Clayton en el estado estadounidense de Iowa.
[3] Garnavillo se encuentra ubicada en las coordenadas 42°51′58″N 91°14′11″O / 42.86611, -91.23639.
Según la Oficina del Censo de los Estados Unidos, Garnavillo tiene una superficie total de 2.65 km², de la cual 2.65 km² corresponden a tierra firme y (0%) 0 km² es agua.
[4] Según el censo de 2010,[5] había 745 personas residiendo en Garnavillo.
De los 745 habitantes, Garnavillo estaba compuesto por el 98.26% blancos, el 0.54% eran afroamericanos, el 0% eran amerindios, el 0% eran asiáticos, el 0% eran isleños del Pacífico, el 0.81% eran de otras razas y el 0.4% pertenecían a dos o más razas.