Witnesses to a horrifying attack on a woman on a quiet Quebec City street are trying to come to terms with what they saw.

On Friday night, a 27-year-old woman was set on fire, allegedly by her ex-husband, as her children and mother looked on.

Martin Allard was on his balcony when he saw the woman on fire.

"At first she wasn't screaming," he said. "I thought it was a torch burning in the middle of the street… it was only when she started screaming I realized it was a person."

Neighbour Guylaine Cauchon also witnessed the attack.

"I'm telling you, I saw the fire from here, all the way to her legs. It was horrible," she said.

Allard ran downstairs to try to help the woman.

"I grabbed her clothes and ripped them off," he said, adding that the woman was screaming throughout. "I took her hands, I said, 'What's your name? Who did this to you?'"

Allard said her entire back and legs were burned.

"Then I told her to stay with me, to hang on, not to fall to the ground," he said.

"She was holding my arm so tightly, I have a bruise," he said. "And I could see that her mother, but also her two young kids, had run out on the street."

The woman is still in critical condition in hospital, as members of her family from Tunisia travel to Quebec City to come to her aid.

A 39-year-old taxi driver named Frej Haj Messaoud has been charged with attempted murder and aggravated assault in the case. He has been ordered to remain in detention until at least his next court date on Friday.

The city passed out flyers urging witnesses to seek psychological support if they need it. 

Allard said he's still suffering with what he saw, adding that the victim is a hero.

"If ever I get a medal of honour, I will give it to her," he said.