More than 20 people were reported to be injured in the attack yesterday at the First Baptist Church in Sutherland Springs, a small town in Wilson County.
The motive behind the attack remained unclear last night.
Agents from San Antonio’s FBI branch were deployed to the scene.
A police commissioner there confirmed at least 27 people had died.
The FBI said that, while only one shooter was reported, it was looking into other possibilities. Local media outlet KSAT 12 reported the gunman entered the church about 11:30am local time.
The gunman was killed in the aftermath of the shooting, which occurred about 30 miles south-east of San Antonio.
Arnold Zwicke, the sheriff of neighbouring Guadalupe County, said there had been a single suspect who was killed after a brief pursuit as he tried to flee.
It was not clear if the suspect took his own life or was killed by law enforcers.
Wilson County commissioner Albert Gamez said: “My heart is broken. We never think where it can happen and it does happen.
“It doesn’t matter where you’re at. In a small community, real quiet and everything, and look at this, what can happen.”
A witness who was working at a petrol station across the road from the church said she heard about 20 shots being fired in quick succession.
Video showed several fire and police vehicles at the church and a helicopter arriving to take victims to hospitals.
The area had also been taped off to restrict access.
Texas governor Greg Abbott said: “Our prayers are with all who were harmed by this evil act. Our thanks to law enforcement for their response.”
US president Donald Trump, who is on a five-country tour of Asia, tweeted: “May God be with the people of Sutherland Springs, Texas. The FBI and law enforcement are on the scene.
“I am monitoring the situation from Japan.”
The incident is the latest mass shooting in the US.
Fifty-eight people were killed and more than 500 were injured by gunman Stephen Paddock at a country music concert in Las Vegas, in the deadliest mass shooting in modern American history on 1 October.