Seroja made landfall south of the town, about 8pm on Sunday, as a category three storm with wind gusts up to 170km/h.
Kalbarri, a popular tourist town which lies 580km north of Perth, is home to about 1400 people.
"I've never experienced anything in my life like we experienced last night," resident and caravan park manager Debbie Major told ABC television on Monday.
"It's only a small town ... half of it has been flattened."
Seroja has now been downgraded to a tropical low but a red alert remains in place for Kalbarri and Northampton. Residents in those areas are urged to stay home for now.
"There will be powerlines down, there will be other structures that are unsteady," Emergency Services Minister Reece Whitby told Perth radio 6PR.
"It will take time to go through town-sites, and communities to make sure everything is safe, to make sure powerlines don't represent a threat to peoples lives."
An all-clear has been issued for Geraldton and the shires of Carnamah, Coorow, Chapman Valley, Irwin, Mingenew, Morawa, Perenjori, Shark Bay and Three Springs.
Authorities will get a better picture of the damage when crews fly over Kalbarri later on Monday.
Prime Minister Scott Morrison said the Commonwealth disaster response plan had been activated and his government stood ready to provide assistance.
Mr Whitby expected the combined state and federal disaster relief to exceed the $18 million spent on the Woorooloo bushfires which destroyed 86 homes northeast of Perth in February.
Reports of property damage and power outages in Kalbarri and Geraldton began to emerge as the storm's force was felt and residents took shelter by candlelight.
Fallen trees, damaged homes and wrecked fences could be spotted amid the howling wind and rain, footage on social media showed.
The Department of Fire and Emergency Services said the majority of more than 180 calls for help had come from Kalbarri.
"The whole town has been impacted. Some areas had a greater concentration of damage than others," resident and Kalbarri State Emergency Service chief Steve Cable told ABC television.
Some of the older buildings didn't stand up very well but even some of the modern buildings, they just couldn't hold. Large trees with quite substantial limbs just snapped off like carrots.
The fast-moving storm later weakened to a category two system as it pushed inland towards Dalwallinu in the early hours of Monday.
It continues to move southeast over the eastern Wheatbelt, southern Goldfields and South East Coastal areas, with wind gusts up to 95km/h.
The ex-cyclone is expected to continue to weaken further on Monday before moving offshore from the south coast in the afternoon.
Western Power said more than 31,500 customers had lost power in Kalbarri, Geraldton, Northampton, Dongara, Port Denison and Mullewa.
"Our top priority will be to make hazards safe, then commence restoration work as quickly as possible," asset operations manager Zane Christmas said.