A mother in Texas shot a carjacker who was stealing her vehicle while her two young children were inside, police say.

The woman jumped back into her SUV after the suspect got into the driver's seat at a Dallas petrol station on Wednesday night, according to police.

Police say she grabbed her gun and shot the carjacker in the face when he refused to stop, causing him to crash.

The woman's sons - aged two and four - were not hurt in the incident.

The alleged thief's condition is unknown, but the woman said she has a message for him.

"I wish I would've killed you, if I didn't already," she told CBS Dallas.

She had gone into the petrol station's convenience store when an employee alerted her that a man was entering her SUV.

She told local media she jumped into the back seat and told the man - later identified by police as 36-year-old Ricky Wright - to stop driving.

After he refused, she reached into the glove compartment to retrieve a handgun, and fired one shot at his face.

"I proceeded to jump in my backseat and told the gentleman to stop, to get out the car", she told KDFW-News. "He would not get out of the car."

"He turned around and looked at me. I reached over the arm rest to get to my glove compartment and that's when I fired at him."

She added: "I should have just emptied the whole clip but I didn't.

"I hope that woke him up."

Police say the man then crashed the car into a lamp pole. He was arrested and taken to hospital.

Police say the woman was questioned at the scene and released.

She is unlikely to face any charges, authorities add.