At least 20 people have been killed in a mass shooting at a Texas shopping centre.
The 21-year-old suspect was arrested after the attack on Saturday (local time) at the busy El Paso shopping mall, Texas Attorney General Ken Paxton says.
Texas Governor Greg Abbott says 20 people were killed.
Many of those in the store were buying back-to-school supplies when they were caught up in the rampage, which came just six days after a teenage gunman killed three people at a food festival in Northern California.
Mr Paxton said the gunman was a 21-year-old white male from Allen, Texas, a Dallas-area city some 1,046 kilometres east of El Paso.
He said reports of between 15 to 20 fatalities were "probably accurate".
A law enforcement official in El Paso tells me the Walmart shooter opened fire outside before walking in the store.— Anna Giaritelli (@Anna_Giaritelli) August 3, 2019
“He shot and killed locals that were fundraising outside the Walmart selling water. Children and adults.” pic.twitter.com/ns0pyssIhk
Asked during a CNN interview about reports of disturbing social media posts apparently made by the suspect, he said he would not be surprised.
"I think those can help shed light on why he did it," Paxton said. "They are still interviewing him."
El Paso police Sergeant Robert Gomez said the suspect was taken into custody without incident.
According to Associated Press, the shooter has been identified as Patrick Crusius.
Citing a law enforcement source, El Paso television station KTSM published on its website what it said were two photos of Crusius taken by security cameras as he entered the Walmart.
The 21-year-old man is seen wearing glasses, khaki trousers and a dark T-shirt, and pointing an assault-style rifle.
He appears to be wearing headphones or ear defenders.
Reuters could not immediately verify the authenticity of the images.
CNN confirmed investigators are reviewing social media posts Crusius potentially made days prior to the shooting, which may speak to his motive.
Facebook and Instagram have reportedly removed the accounts under the shooters name and Facebook is working with investigators.
“Our thoughts are with the victims and their families. Content that praises, supports or represents the shooting or anyone responsible violates our Community Standards and we will continue to remove as soon as we identify it," a Facebook spokesperson told CNN.
US President Donald Trump said on Twitter the reports from El Paso were "very bad, many killed".
"Spoke to Governor to pledge total support of Federal Government. God be with you all," Mr Trump said.
University Medical Center of El Paso received 13 patients, including one who died, hospital spokesman Ryan Mielke told CNN.
Some of the patients were in surgery while others were in stable condition, he added.
Two of the patients who arrived at the hospital were children with non-life threatening injuries who were transferred to El Paso Children's Hospital, he said.
Multiple law enforcement agencies raced to the scene at the Walmart and nearby Cielo Vista Mall, including police, state troopers, Homeland Security agents and border patrol.
Graphic video from the scene posted on social media showed what appeared to be dead bodies and wounded victims.
Up to 3,000 people at shopping centre
El Paso police Sgt Gomez said most of the victims were shot near a Walmart near the Cielo Vista Mall.
Sgt Gomez said there was between 1,000 and 3,000 people were in the store as it was back-to-school shopping season.
Police are advising people to look for family members at a nearby school being used as a reunification area and advising people to stay away from the area.
Texas Governor Abbott called the shooting “a heinous and senseless act of violence” and said the state had deployed a number of law enforcement officers to the city.
Now in the beautiful city of El Paso.— Greg Abbott (@GregAbbott_TX) August 3, 2019
Texans grieve today for the people of this wonderful place.
We unite in support of all the victims.
We thank First Responders for their swift action.
We ask God to bind up the wounds of all who’ve been harmed. pic.twitter.com/2l8jDPHbe1
A family of three was among a dozen people waiting outside a bus station.
They were trying to return to their car that was in a blocked-off Walmart parking lot.
“I heard the shots but I thought they were hits, like roof construction,” 39-year-old Adriana Quezada, who was in the women’s clothing section of Walmart with her two children, said.
Ms Quezada said she saw four men, dressed in black, moving together firing guns indiscriminately. Police confirmed only one gunman.
Ms Quezada’s 19-year-old daughter and 16-year-old son threw themselves to the ground, then ran out of the Walmart through an emergency exit.
She said they were not hurt.
Terrible shootings in ElPaso, Texas. Reports are very bad, many killed. Working with State and Local authorities, and Law Enforcement. Spoke to Governor to pledge total support of Federal Government. God be with you all!— Donald J. Trump (@realDonaldTrump) August 3, 2019
Shoppers ‘dropping to the floor’
Shoppers fled for their lives, including Kianna Long who was at the Walmart with her husband when they heard gunfire.
"People were panicking and running, saying that there was a shooter," Ms Long said.
"They were running close to the floor, people were dropping on the floor."
Ms Long and her husband sprinted through a stock room at the back of the store before sheltering with other customers in a steel container in a shipping area.
We're in shock over the tragic events at Cielo Vista Mall in El Paso, where store 2201 & club 6502 are located. We’re praying for the victims, the community & our associates, as well as the first responders. We’re working closely with law enforcement & will update as appropriate.— Walmart (@Walmart) August 3, 2019
Supermarket chain Walmart has released a statement since the shooting, saying they are working with law enforcement.
A Forever 21 employees told CNN “about 20” people were crammed into the store’s stock room to take shelter.
"Most of us were desperate, some were on their phones. There were girls crying, people trying to talk to each other and women with babies in their arms."
El Paso police have tweeted blood donations were “needed urgently”.