By Agence France-Presse
Police launched a manhunt after the killer opened fire at around 8pm local time (1900 GMT) on one of the city's busiest streets, sending crowds of evening shoppers fleeing for safety.
Soldiers patrolling the area as part of regular anti-terror operations exchanged fire with the suspect and injured him, but could not stop him escaping, police sources said.
The gunman has been identified and was on a watchlist of suspected extremists, a statement from local security services said.
Shortly after the shooting, lines of police vehicles and ambulances streamed into the market area, under festive lights declaring the city the "capital of Christmas."
An AFP reporter saw paramedics load one victim into the back of an ambulance on a stretcher.
"We heard several shots, three perhaps, and we saw people running," one witness told AFP afterwards, asking not to be named.
"One of them fell down, I don't know whether it was because she was tripped up or if she was hit," the witness said.
Police said six of the 12 injured were in critical condition.
Two separate security sources told AFP on condition of anonymity that the shooter was believed to be a 29-year-old from the city who was set to be arrested on Tuesday morning.
He was being investigated over an attempted murder, one of the sources said.
Several areas neighbouring the Christmas market were sealed off on Tuesday night and residents were being told to stay indoors.
A police source, again speaking on condition of anonymity, said that security forces had opened fire in an area of the city where the suspect was thought to be hiding.
Specialised anti-terror prosecutors have opened an investigation into the incident in Strasbourg, which lies on the border of Germany.
The Strasbourg-based European Parliament was also on lockdown after reports of the shooting emerged, with MEPs, staff and journalists unable to leave the building, an AFP reporter said.
The parliament was in plenary session, with hundreds of MEPs and officials having made the monthly visit to Strasbourg from Brussels.
The Christmas market in Strasbourg and the city's illuminations are an annual tourist attraction that draw hundreds of thousands of people.
Security has been stepped up in recent years after a series of attacks in France by Islamist gunmen and the Strasbourg market was long considered a possible target.
In 2016, a 23-year-old Tunisian killed 12 and injured 48 others when he ploughed a truck into a Christmas market in Berlin in an attack claimed by the Islamic State group.
Special anti-terror army units have been deployed in Strasbourg and soldiers and armed police are regularly seen patrolling among the 300 wooden Christmas market chalets.
The shooting on Tuesday comes at a time when French security fores are stretched after more than three weeks of anti-government demonstrations.
Nearly 90,000 police were deployed on Saturday for the fourth round of protests by so-called "yellow vests" which led to violence in many cities.
Three years after groups of jihadists gunned down and blew up 130 people in Paris on November 13, 2015, French counter-terror officials say their focus has shifted.
Rather than coordinated attacks, their main concern is attacks by "lone wolves" -- self-radicalised individuals acting without links to terror groups such as Islamic State.
Most recently a 20-year-old Chechnya-born man went on a knife rampage in central Paris last May, killing one man and injuring four other people on a Saturday night.
A total of 246 people have been killed in terror attacks in France since 2015, according to an AFP toll.