The bus driver, identified as 51-year-old Pierre Ny St-Amand, ploughed into the daycare centre on Wednesday morning in what witnesses have described as a deliberate act.
He appeared in court from the hospital to be charged with two counts of first-degree murder, attempted murder, two counts of aggravated assault, and four counts of assault with a weapon causing bodily harm.
According to reports, he had worked for the Société de transport de Laval (STL) for about 10 years, had no previous criminal convictions and no known connection to the daycare.
“From what I saw, it wasn’t an accident,” local resident Hamdi Ben Chaabane told CBC News, adding that the bus appeared to be driving at approximately 30 or 40kph (18-25mph) when it hit the building.
He then described how the driver stepped out of the bus, removed all his clothing, and began screaming incoherently, forcing Mr Ben Chaabane and several other parents to subdue him before trying to rescue children who had been trapped under the bus.
Mr Ben Chaabane said the driver seemed as though he was "in another world."
"He opened the door. He took off all his clothes. He was totally naked," Mr Ben Chaabane said. "We don't know why he did that. We dove on him. We tried to subdue him."
Mr Ben Chaabane said the driver "didn't stop yelling" and "wasn't saying words."
"It was a nightmare," he said.
Stéphane Boyer, the town's mayor, said the bus driver has been with the busing service for a decade and had no prior incidents on record.
City busses do not normally drive near the daycare, which is set off on a quiet side road away from the main bus lines.
Ms Boyer said the idea that the crash was intentional would need to be substantiated by an investigation.
The group of bystanders and parents tried to pull children out from under the bus, but some were buried too deep for them to reach. Firefighters eventually arrived on scene and took over the rescue efforts.
"It's terrible what happened this morning in Laval," Premier François Legault told reporters at the National Assembly. "All my thoughts are with the children, with the parents and with the employees."
The Sainte-Justine Hospital confirmed to the CBC that some of the injured children had been transported there and were being treated for serious injures in urgent care.
The bus driver was also transported to the hospital, due to concerns about his mental health.
He appeared in court from the hospital on Wednesday afternoon via video link.
He was reportedly meant to be charged via telephone, but refused to speak, meaning a police constable named Simon Lesage had to dial in using his mobile phone camera so the suspect could nod and shake his head in response to questions.
Mr Lesage told the court that there was nothing physically wrong with St-Amand, and that he would undergo a mental health examination by order of a hospital doctor.
The line then dropped, with Mr Lesage explaining: “I’m sorry for the delay, but he hit me. He hit me because he is angry. I’m trying to get my spirits back.”
Prosecutors said the doctor had requested a mental health check because they were worried the suspect posed a threat to medical staff.
Mr St-Amand lives near the daycare centre in Laval with his partner and children, and was described by neighbours as a doting father and a friendly presence in the neighbourhood. He came to Quebec from Cambodia when he was 11.
He has not yet entered a plea in the crash case, and is due again in court next Friday (17 February).