Jaskirat Singh Sidhu, 29, was charged with 16 counts of dangerous operation of a motor vehicle causing death, and 13 counts of dangerous operation of a motor vehicle causing injury, Royal Canadian Mounted Police (RCMP) said at a news conference.
Police said Sidhu was arrested on Friday at his home in Calgary and remained in custody. He was set to appear in court next week.
“I know it’s been difficult for many to await the outcome of this police investigation. The time it took to do this work, this important work, was necessary,” RCMP assistant commissioner Curtis Zablocki said.
Local media reported the truck had a stop sign at the intersection where it collided with the bus.
The Humboldt Broncos hockey team was on its way to a playoff game at the time of the crash, which killed players, staff, a radio announcer and the bus driver. Sidhu was not injured, the RCMP said at the time.
The victims were mourned in Humboldt, a farming town of 6,000, and across Canada, where junior hockey teams are a fixture of many rural communities.
Dangerous driving causing death carries a sentence of up to 14 years in Canada.
More about: #hockey-buscrash