At least four dead, 11 seriously wounded in Strasbourg shooting
The motive was not immediately clear but, with France still on high alert after a wave of attacks commissioned or inspired by Islamic State militants since early 2015, the counter-terrorism prosecutor opened an investigation.
Interior Minister Christophe Castaner said the gunman was known to security services, and the local prefecture said he had previously been identified as a danger to security.
Sources close to the investigation into the shooting have identified him as a 29-year-old suspected robber.
People in the city's Neudorf area and Etoile park were told to stay where they were as officers hunted the shooter on the ground and from the air.
The European Parliament, which is sitting in Strasbourg this week, was put into lockdown.
"There were gunshots and people running everywhere," one local shopkeeper told BFM TV. "It lasted about 10 minutes."
The Christmas market was being held amid tight security this year, with unauthorised vehicles excluded from surrounding streets during opening hours and checkpoints set up on bridges and access points to search pedestrians' bags.
A source at the prosecutor's office said the motive for the shooting was not immediately clear.
French President Emmanuel Macron was informed of the shooting and was being updated as events unfurled, an Elysee Palace official said.
Mr Castaner was on his way to Strasbourg, which lies on the border with Germany.
A spokesman for the European Parliament said the building had been shut down and staff ordered to stay inside.
"My thoughts are with the victims of the Strasbourg shooting, which I condemn with the utmost firmness," tweeted Jean-Claude Juncker, head of the European Commission, the EU executive.
"Strasbourg is an excellent symbol of peace and European Democracy. Values that we will always defend."
Police in Germany have said they are strengthening controls at the Franco-German border near Strasbourg.
The police force of Baden-Wurttemberg, a state in south-west Germany bordering Strasbourg, tweeted they were taking the extra measures at the border because of the shooting.
The European Parliament building in Strasbourg, which is situated 3.4km from Place Kleber - where tonight's shooting incident took place - is under lockdown.
The parliament is still in session.
Sinn Féin politician Martina Anderson, a Member of the European Parliament representing Northern Ireland, tweeted: "We were in the centre of Strasbourg town when gun shots went off."
"My thoughts & prayers with all who are injured."
Several other MEPs tweeted to say that both they and their staff were safe and accounted for.
Strasbourg, like all French cities, has been on high alert following terrorist attacks in 2015 and 2016.
The markets, which attract millions of visitors, have witnessed increased security in recent years since those attacks.