At least six other people were wounded, according to police, who said children were among the dead and wounded in the shooting, which took place in the state capital of Madison.
Earlier, police said five people were killed in the shooting but later said that information was incorrect.
The shooting took place at Abundant Life Christian School, a private institution that teaches about 400 students from kindergarten through 12th grade, the Madison Police Department said.
The police department said in a written statement that at least three people were killed in the incident, including the suspected shooter, who was identified only as a juvenile student at the school.
The shooter was found dead inside the school when police arrived.
At least six people were transported from the scene to area hospitals, police said in a written statement.
Madison Police Chief Shon Barnes said the shooting took place just before 11am.
"Today is a sad, sad day, not only for Madison, but for our entire country where yet another police chief is doing a press conference to speak about violence in our community," Barnes told reporters.
Barnes added: "Every child, every person in that building, is a victim, and will be a victim forever. These types of trauma don't just go away."
Video posted from the scene on social media showed a massive emergency response including police, ambulance and fire vehicles.
Gun control and school safety have become major political and social issues in the US where the number of school shootings has jumped in recent years.
There have been 322 school shootings this year in the US, according to the K-12 School Shooting Database website.
That is the second highest total of any year since 1966, according to that database - topped only by last year's total of 349 such shootings.