The British Columbia Prosecution Service charged Kai-Ji Adam Lo, 30, with eight counts of second degree murder and said more charges were possible.
Police said the suspect has a history of mental health issues.
The man was arrested after a black Audi SUV entered the street just after 8 pm Saturday and struck people attending the Lapu Lapu Day festival.
Dozens of others were injured, some critically.
“It is the darkest day in Vancouver’s history,” Police Interim Chief Steve Rai told a news conference.
“The person we have in custody does have a significant history of interactions with police and health care professionals related to mental health,” he said.
Video of the aftermath shows the dead and injured along a narrow street in South Vancouver lined by food trucks. The front of the driver’s SUV is smashed in.
Kris Pangilinan, who brought his pop-up clothing and lifestyle booth to the festival, saw the vehicle enter past the barricade slowly before the driver slammed on the gas in an area that was packed with people after a concert.
He said hearing the sounds of bodies hitting the vehicle will never leave his mind.
“He sideswiped someone on his right side and I was like, ‘Oh, yo yo.’ And then he slammed on the gas,” he said. “And the sound of the acceleration, it sounds like an F1 car about to start a race.
“He slammed on the gas, barreled through the crowd. And all I can remember is seeing bodies flying up in the air higher than the food trucks themselves and landing on the ground and people yelling and screaming. It looked like a bowling ball hitting bowling pins and all the pins are flying into the air.”
Pangilinan said that it would be hard to believe “that someone has some malice against the Filipino people.”
Suspect was detained by bystanders before the police arrived
Video circulating on social media shows a young man in a black hoodie with his back against a chain-link fence, alongside a security guard and surrounded by bystanders screaming and swearing at him.
“I’m sorry,” the man says, holding his hand to his head.
Rai declined to comment on the video.
Prime Minister Mark Carney cancelled his first campaign event and two major rallies on the final day of the election campaign before Monday’s vote. (AP)