Oddell Cannon of Coatesville is being charged as an adult, the Chester County District Attorney's Office announced Wednesday morning.
Cannon surrendered to police hours after the stabbing, officials said.
Family members identify the victim as 16-year-old Mickey Rayner Jr., a sophomore.
According to the D.A.'s office, Caln Township police responded to the high school around 7:25 a.m. Tuesday for the report of a stabbing involving two students in a second-floor bathroom.
Arriving officers found the 16-year-old victim with multiple stab wounds to the neck, shoulder, armpit and lower back. Cannon had fled the school.
The victim was taken to Paoli Hospital where he is recovering from non-life-threatening injuries.
Jacquelyn Prouse, Rayner's mother, said he underwent surgery at Paoli Hospital and is currently in stable condition.
"He was stabbed in the neck, the arm, his side, his back multiple times. (It) cut every muscle and tendon in his arm all the way down to the bone," she said. "They are still observing because it did nick his colon, so they are watching to make sure that there is not a hole."
A witness told police that the victim believed Cannon had stolen a vape cigarette cartridge from him and wanted to fight, according to the D.A.'s office.
The witness said the two met in a second-floor bathroom but a teacher came in and dispersed the crowd.
The witness told police the group, including Prouse and Cannon, moved to another bathroom.
The witness said the two started to fight again.
Another witness told investigators he saw Prouse bleeding from the stabbing and heard the victim say, "Bro, he stabbed me."
The D.A.'s office said investigators found a large amount of blood in the bathroom where the stabbing occurred.
A witness told police the suspect had a bleeding hand.
Authorities recovered a knife covered in blood at the school.
The D.A.'s Office said a video posted on social media showed the suspect stabbing the victim multiple times with an item gripped in his right hand.
"This is an extremely upsetting incident," Dr. Rick Dunlap, Substitute Superintendent for Coatesville Area School District, said in a letter to families Tuesday morning. "I'm extremely sorry to report that at least one of the students was stabbed and was transported to the hospital."
Prouse said her son has had problems with other students in the past at the school and their family is "fed up."
"The school should have done more. I have been dealing with my son getting bullied since the beginning of the year," Prouse said.
Rayner's cousin, Marissa Hartman, a senior at the school, has also witnessed the violence.
"It's been all year. There's violence all year, fights. Kids get jumped to the point that they have to go to the hospital, kids' heads getting stomped in. It's not gonna change," she said.
Caln Township police confirmed to Action News the school was placed on lockdown.
School officials began the process of dismissing students shortly after the incident.
The superintendent said students were interviewed as they were being dismissed. He said the school will follow up with counseling for students and staff.
Cannon has been charged with attempted murder of the first degree, aggravated assault, terroristic threats, possession of a weapon on school property, possessing instruments of crime, and related charges.
He is being held at the Chester County Youth Center on $750,000 bail.