A baby was among five people killed when a car tore through a pedestrian shopping street in the southwestern German city of Trier on Tuesday, police said, after arresting the driver.
Prosecutor Peter Fritzen said the driver, a 51-year-old Trier native, appeared to be suffering from "psychiatric problems" and had been under the influence of alcohol during the incident, in which 14 other people were hurt.
Police said they had "no indications of a political motive" after questioning the suspect, and Fritzen said prosecutors were considering requesting he be placed in psychiatric care.
At the same press conference, Trier mayor Wolfram Leibe said those killed when the man drove his SUV into the shoppers included a nine-month-old and a 73-year-old woman.
"I think this is Trier's darkest day since World War II," he said.
Also killed were a 25-year-old woman and a 45-year-old man. Police have not yet released details on the fifth victim.
Malu Dreyer, premier of the state of Rhineland-Palatinate where Trier is located, expressed shock that a baby was among those killed by the driver's "insane act" and shared her condolences with all the affected families.
The baby's mother was being treated in hospital for injuries sustained in the rampage.
Witnesses had earlier described seeing people being flung into the air as the car struck them.
The incident started around 1250 GMT and ended within four minutes of the first emergency calls arriving, with police intercepting the driver after he turned off a main shopping street.
Police said he had ploughed through the streets for between 600 metres and a kilometre, leaving behind a trail of destruction.
Officers sealed off the area and cleared people from the centre of the city of about 110,000 people.
Smartphone footage from an eyewitness showed the arrest of the driver, handcuffed and lying face down on the street being pinned down by several officers next to the damaged vehicle.
In the evening, the cathedral bells were rung and a memorial service held for the victims.
Joachim, accompanied by his teenage daughters Helena and Sophia, attended the service expressing their sadness.
"We wanted to show our sympathy for those who lost their lives and those who lost a loved one," Joachim said.
An unnamed man who said he was a former neighbour of the suspect told NTV that the driver had a history of mental issues, as well as money worries and problems with his father.
Chancellor Angela Merkel voiced her "great sadness," and said her thoughts were with the relatives of those who were "so suddenly and violently ripped from their lives" and with the injured, in a message shared by her spokesman.
Early footage from the scene showed stunned shoppers huddling outside stores festooned with Christmas decorations as sirens blared in the distance.
Broken glass and debris from stalls and outdoor displays were strewn along the cobbled street.
Picturesque Trier, near the border with Luxembourg, traces its history back to the Roman Empire and is often called Germany's oldest city. It is also the birthplace of Karl Marx.
Although Germany is grappling with a second coronavirus wave that has forced restaurants, bars, sports and cultural centres to close, retailers have been allowed to stay open, and many people were out Christmas shopping.
"It's lucky that the Christmas market has been cancelled because of corona, or it could have been much worse," witness Frederic Fries told Welt TV.
The incident brought back memories of a truck rampage at a Berlin Christmas market in 2016 that killed 12 people, Germany's deadliest Islamist attack to date.
In January 2019, a German man injured eight people when he drove into crowds on New Year's Eve in the western cities of Bottrop and Essen. He was later taken into psychiatric care.
In April 2018, a German man ploughed his van into people seated outside a restaurant in the city of Muenster, killing five before shooting himself dead. Investigators later said he had mental health problems.