According to the United States Census Bureau, the village has a total area of 3.5 square miles (9.1 km²), of which, 3.4 square miles (9.0 km²) of it is land and 0.1 square miles (0.1 km²) of it (1.42%) is water. It is located at 42°10?46?N 88°3?1?W / 42.17944°N 88.05028°W / 42.17944; -88.05028 (42.179529, -88.050546).
As of the census of 2000, there were 3,460 people, 1,077 households, and 1,001 families residing in the village. The population density was 996.6 people per square mile (385.0/km²). There were 1,095 housing units at an average density of 315.4 per square mile (121.8/km²). The racial makeup of the village was 93.82% White, 0.92% African American, 4.28% Asian, 0.38% from other races, and 0.61% from two or more races. Hispanic or Latino of any race were 2.31% of the population.