Cresco is home to one of the largest school districts in Iowa in terms of square miles, the Howard-Winneshiek Community School District. The high school is called Crestwood High School. Crestwood Elementary/Junior High School are also in Cresco. Notre Dame Catholic School offers private education to elementary school students.
Although Cresco is no longer on a railroad line, it is home to a restored Milwaukee Road FP7 diesel engine which is known as the Heritage Train and displayed in a park (Beadle Park) at the center of the city on Highway 9.
There were 1,652 households out of which 30.5% had children under the age of 18 living with them, 49.0% were married couples living together, 8.1% had a female householder with no husband present, and 39.2% were non-families. 35.0% of all households were made up of individuals and 19.5% had someone living alone who was 65 years of age or older. The average household size was 2.27 and the average family size was 2.95.
In the city, the population was spread out with 25.6% under the age of 18, 7.1% from 18 to 24, 26.1% from 25 to 44, 18.5% from 45 to 64, and 22.8% who were 65 years of age or older. The median age was 39 years. For every 100 females there were 88.6 males. For every 100 females age 18 and over, there were 87.0 males.
The median income for a household in the city was $32,236, and the median income for a family was $43,682. Males had a median income of $30,088 versus $21,444 for females. The per capita income for the city was $18,190. About 2.1% of families and 6.8% of the population were below the poverty line, including 5.2% of those under age 18 and 5.9% of those age 65 or over.