Five people died when an employee opened fire at a bank in Louisville, Kentucky, and livestreamed the attack on Instagram, police say.
The victims were aged between 40 and 64. Among nine others injured was a rookie police officer who had graduated to the force just two weeks ago.
The officer was shot in the head and is still critical after brain surgery.
Police responded within three minutes, and fatally shot the attacker in an exchange of gunfire.
The shooting took place at the Old National Bank in the city centre at about 08:30 local time (12:30 GMT).
Caleb Goodlett told local media that his wife, an employee at the bank, locked herself inside the vault when the attack began.
Other witnesses described seeing the shootout between police officers and the lone attacker.
Kentucky Governor Andy Beshear said an “incredible friend” of his, Tommy Elliot, a senior vice-president at the bank, was among the victims.
“Tommy Elliott helped me build my law career, helped me become governor, gave me advice on being a good dad,” said Mr Beshear.
The victims have all been identified as Thomas Elliot, 63, James Tutt, 64, Joshua Barrick, 40, Julianna Farmer, 45 and Deana Eckert, 57.
The policeman who was shot in the head was identified as Louisville Metro officer Nickolas Wilt, 26.
City Councilman Anthony Piagentini told the Courier-Journal newspaper that Mr Wilt graduated from the academy on 31 March, and that his brother is enrolled in the police academy.
Louisville Mayor Craig Greenberg called the attack “an evil act of targeted violence”. The mayor noted that he himself was the victim of a recent gun attack.
Last year he was shot at by a man with mental illness who burst into his campaign office.
Two survivors told WHAS-TV that Monday’s gunshots first broke out in a ground-floor conference room at the bank.
“Whoever was next to me got shot – blood is on me from it,” said one man, pointing to his shirt.
The suspect was named as 25-year-old Connor Sturgeon, who police said used an AR-15-style semi-automatic rifle during the incident and was broadcasting the shooting online.
“That’s tragic to know that that incident was out there and captured,” said Police Chief Jacquelyn Gwinn-Villaroel.
Instagram’s owner Meta said it had “quickly removed the livestream of this tragic incident this morning”.
The attacker is described in an online profile as being a syndications associate and portfolio banker at Old National Bank. He had joined the company as a full-time employee last year after spending three summers as an intern there.
Officials say he had no previous contact with law enforcement.
According to US media, he had recently been told by the bank that he was going to be fired and had written a note describing his plans for the mass shooting before going to work on Monday.
Data compiled by the Gun Violence Archive shows that there have been at least 146 mass shootings – defined as those in which at least four people were shot – so far in 2023, including at least 15 since the start of April.
President Joe Biden demanded Congress pass gun control measures as he tweeted on Monday: “Too many Americans are paying for the price of inaction with their lives.”
Kentucky is one of 26 states that allow most adults over 21 years old to purchase and carry a firearm without a licence.