Thompson is a city located in Winnebago County, Iowa. Thompson has a 2026 population of 478. Thompson is currently declining at a rate of -1.85% annually and its population has decreased by -3.43% since the most recent census, which recorded a population of 495 in 2020.