Thompson is located in Winnebago county Iowa with a geographic area of 0.9 square miles. The total population in Thompson is 496 with 53.6% male and 46.4% female. Children under age 5 represent 6.5% of the population, under age 18 equal 13.1% of the population and over age 65 is 43.5% of the population. The median household income is $43,295, per capita income is $31,562. There are a total of 295 housing units with 85.4% owner occupied. Education includes 28.5% of residents that are high school graduates and 41.4% with a bachelor's degree or higher. The average temperature in Thompson in the summer is 70 degrees, and in the winter 23 degrees.