The attacker, who served in Afghanistan and Iraq, also wounded an 11-year-old girl with seven gunshots.
A former sniper in the US military killed four people, including a woman and her three-month-old baby boy in her arms, before surrendering to police in central Florida.
The suspect, identified as Bryan Riley, 33, also wounded an 11-year-old girl who underwent surgery for seven gunshot injuries, Polk County Sheriff Grady Judd told a news conference on Sunday.
Riley, who had no connection to the victims, engaged in an intense shoot-out with police before giving up. He later tried to grab a police officer’s gun while being treated in the hospital for his own gunshot wound, before being subdued again, Judd said.
A veteran of the US wars in Iraq and Afghanistan, Riley worked as a bodyguard and security guard.
Judd said his girlfriend told investigators he suffered from post-traumatic stress disorder and occasional depression, adding about a week ago his mental health worsened and he started “speaking with God”.
“He said at one point to our detectives, ‘They begged for their lives and I killed them anyway,’” said Judd.
Riley also told sheriff’s deputies he was high on methamphetamine.
The attacker first appeared randomly at the house where the shooting occurred on Saturday night, making nonsensical statements, but left by the time police responded.
He returned early on Sunday, killing a 40-year-old man, and the 33-year-old mother and her baby, Judd said. In the home next door, he also killed the 62-year-old mother of the woman.
“In addition to that, if he’s not evil enough, he shot and killed the family dog,” Judd said.
Deputies responding to reports of two volleys of automatic gunfire arrived to find the suspect unarmed outside, wearing camouflage and body armour. Riley then went back inside and “we heard another volley, and a woman scream, and a baby whimper”, Judd said.
A gunfight ensued before he came out unarmed and was arrested.
“It would have been nice if he would have come out with a gun … We would have shot him up a lot. But he didn’t because he was a coward,” Judd said. “When someone chooses to give up, we take them into custody peacefully.”