The gunman was dead inside Sandy Hook Elementary School in Newtown, Connecticut, state police Lieutenant Paul Vance told a news conference.
Vance said the gunman killed 18 children and six adults at the school and two wounded children died later in the hospital. Another person connected to the suspect was found dead at a house in Newtown, bringing the death toll to 28.
One of the dead was the shooter's mother, a teacher at the school, The New York Times reported, citing a law enforcement official. The New York Times also reported that the gunman killed himself at the scene.
CNN reported that an official said there was an additional death - the brother of the suspected gunman in New Jersey - but this was not independently confirmed.
A woman waits to hear about her sister, a teacher, following a shooting at the Sandy Hook Elementary School in Newtown, Connecticut. AP photo
The suspected gunman entered the school as children were gathered in their classrooms for morning meeting. He was armed with four weapons and wore a bullet-proof vest, WABC reported.
If confirmed, it would be one of the worst mass shootings in US history. The holiday season tragedy was the second shooting rampage in the United States this week and was certain to revive a debate about US gun laws.
This undated Facebook photo shows alleged school shooter Ryan Lanza, 24. AFP PHOTO
President Barack Obama, wiping away tears and pausing to collect his emotions, mourned the "beautiful little kids between the ages of 5 and 10 years old" who were killed.
"As a country we have been through this too many times," Obama said, ticking off a list of recent shootings.
"We're going to have to come together and take meaningful action to prevent more tragedies like this, regardless of the politics," Obama said in apparent reference to the influence of the National Rifle Association over members of Congress.
Obama remains committed to trying to renew a ban on assault weapons, White House spokesman Jay Carney said.
Witnesses reported hearing dozens of shots with some saying as many as 100 were fired.
Another person was being held in police custody after he was detained in the woods near the school wearing camouflage pants, CBS reported.
Bloodied children exit school
Sandy Hook Elementary School teaches children from kindergarten through fourth grade - roughly ages 5 to 10.
"It was horrendous," said parent Brenda Lebinski, who rushed to the school where her daughter is in the third grade. "Everyone was in hysterics - parents, students. There were kids coming out of the school bloodied. I don't know if they were shot, but they were bloodied."
Television images showed police and ambulances at the scene, and parents rushing toward the school. Parents were seen reuniting with their children and taking them home.
"This is going to be bad," a state official told Reuters, requesting anonymity because the scope of the tragedy remained uncertain.
Lebinski said a mother who was at the school during the shooting told her a "masked man" entered the principal's office and may have shot the principal. Lebinski, who is friends with the mother who was at the school, said the principal was "severely injured."
Lebinski's daughter's teacher "immediately locked the door to the classroom and put all the kids in the corner of the room."
Murphy has a friend with a daughter in Sandy Hook, and the daughter is OK. She did get an automated call from the school department this morning saying there was a "possible shooting" at the elementary school and that all schools were on lockdown.
Young children wait outside Sandy Hook Elementary School after a shooting in Newtown, Connecticut. REUTERS
Melissa Murphy, who lives near the school, monitored events on a police scanner.
"I kept hearing them call for the mass casualty kit and scream, ‘Send everybody! Send everybody!'" Murphy said. "It doesn't seem like it can be really happening. I feel like I'm in shock."
A girl interviewed by NBC Connecticut described hearing seven loud "booms" while she was in gym class. Other children began crying and teachers moved the students to a nearby office, she said.
"A police officer came in and told us to run outside and so we did," the unidentified girl said on camera.
Newtown, with a population about 27,000, is in northern Fairfield County, about 45 miles southwest of Hartford and 80 miles northeast of New York City.
The United States has experienced a number of mass shooting rampages this year, most recently in Oregon, where a gunman opened fire at a shopping mall on Tuesday, killing two people and then himself.
The deadliest came in July at a midnight screening of a Batman film in Colorado that killed 12 people and wounded 58.
Parents leave a staging area after being reunited with their children following a shooting at the Sandy Hook Elementary School in Newtown, Connecticut.AP Photo
The Sandy Hook tragedy would be the deadliest elementary school shooting in US history.
The worst US high school shooting happened in 1999 when two students, Dylan Klebold and Eric Harris, went on a rampage at Columbine High School in Littleton, Colorado, killing 12 students and a teacher before turning their guns on themselves.
In 2007, 32 people were killed at Virginia Tech university in the deadliest act of gun violence in US history.
In another notorious school shooting outside of the United States, in 1996 a gunman opened fire in an elementary school in Dunblane, Scotland, and killed 16 children and an adult before killing himself.