It was not immediately clear what motivated the attack, but Interior Ministry official Peter Mertens said it did not involve terrorism.
Belgian officials identified the attacker as Norodine Amrani, 33, a Liege resident who they said had done jail time for offenses involving guns, drugs and sexual abuse. He was among the dead, but Liege Prosecutor Danielle Reynders told reporters it was unclear if he committed suicide or died by accident. He did not die at the hands of police, she said.
The dead also included two teenage boys, 15 and 17, and a 75-year-old woman, she said. The La Libre newspaper reported that a 2-year-old girl was clinging to life.
Reynders said Amrani had been summoned for police questioning on Tuesday but the reason for the questioning was not clear.
Officials said Amrani left his home in Liege with a backpack, armed with hand grenades, a revolve and an FAL assault rifle. He walked alone to the central square. From a platform, he lobbed three hand grenades toward of a bus shelter, then he opened fire.
He still had a number of grenades with him when he died, Reynders said.