Thirty people have died and dozens have been wounded in two mass shootings within just 13 hours of each other in the US, prompting calls for tighter gun control.
The first massacre occurred on Saturday morning (local time) in the heavily Hispanic border city of El Paso, where a gunman killed 20 people at a Walmart store before surrendering to police.
- Ohio shooting: Nine killed by gunman in Dayton, Ohio
- El Paso shooting: Twenty killed after gunman opens fire in Walmart
Texas Governor Greg Abbott said the rampage appeared to be a hate crime.
Police cited a "manifesto" they attributed to the suspect, a 21-year-old white man, as evidence that the bloodshed was racially motivated.
Across the country, a gunman opened fire in a downtown district of Dayton, Ohio, early on Sunday, killing nine people and wounding at least 26 others, police and the city mayor said.
The assailant was shot dead by police.
Several Democratic candidates for next year's US presidential election denounced the rise of gun violence and repeated calls for tighter gun control measures.
At least two candidates, Mayor Pete Buttigieg of South Bend, Indiana, and El Paso native Beto O'Rourke, a former congressman, drew connections to a resurgence in white nationalism and xenophobic politics in the US.
"America is under attack from homegrown white nationalist terrorism," Buttigieg said at an event in Las Vegas.
US President Donald Trump branded the shooting "an act of cowardice".
"I know that I stand with everyone in this country to condemn today's hateful act. There are no reasons or excuses that will ever justify killing innocent people," he said on Twitter.
Pope Francis condemned the spate of attacks on "defenceless people" in the US, including a rampage last Sunday in which a gunman killed three people and wounded about a dozen at a garlic festival in Gilroy, California.
Multiple news media outlets, citing law enforcement officials, named him as Patrick Crusius from Allen, Texas, a Dallas suburb some 1000km east of El Paso.
Police said the suspect opened fire with a rifle on shoppers then surrendered to officers who confronted him outside the store.
A four-page statement posted on 8chan, an online message board often used by extremists, and believed to have been written by the suspect, called the Walmart attack "a response to the Hispanic invasion of Texas".
It also expressed support for the gunman who killed 51 people at two mosques in Christchurch, New Zealand, in March.
CNN reported the FBI had opened a domestic terrorism investigation.
In Dayton, a riverfront city of about 140,000 people in southwest Ohio, a gunman dressed in body armour opened fire in a downtown district.
The carnage could have been much worse if not for the rapid intervention of nearby patrolling police, who were on the scene in less than a minute and shot the attacker dead..
Assistant Police Chief Matt Carper said the shooting began at 1am local time in Dayton's Oregon District, a downtown historic neighbourhood popular for its nightclubs, restaurants, art galleries and shops.
The motive was not immediately clear, and investigators believe the individual acted alone, Carper said.