A tornado hit the city of Marshalltown on Thursday, the Iowa Department of Homeland Security and Emergency Management said.
There were no immediate reports of injuries, the agency said, but there were reports of several tornadoes in the area, about an hour northeast of Des Moines.
Photos taken by Billie Blocker Rice show damage to buildings on the north side of town.
Trees have crashed down into roads, house are missing many shingles, a large industrial building is missing sections of a wall and debris is littered over vehicles in the parking lot.
Marshalltown officials declared a state of emergency, said City Administrator Jessica Kinser.
"Everyone is advised to stay away from downtown Marshalltown until further notice," she said in a statement. "We also ask that people stay off cell lines unless necessary, to allow for emergency phone traffic."
About 27,000 people live in the town. Many of them were without power; Alliant Energy reported 6,690 homes and businesses were without electricity.
According to CNN affiliate WOI, another tornado damaged houses in Bondurant, about 10 miles from Des Moines.
The storm knocked out power and telephone service at city hall, officials said.
In the southeastern part of the state, in Pella, a company that manufactures industrial and agricultural equipment reported "major damage." The Vermeer Corporation said on Facebook that the severe weather hit multiple facilities at 4 p.m. The post didn't indicate whether anyone was injured.