One person has been killed and several injured after a 29-year-old man drove his car into a crowd of people in Berlin.

The vehicle veered onto a pavement twice in a district of the German capital popular with tourists and shoppers, police said.

Police identified the driver as a German-Armenian man, whose car eventually crashed into a shop window.

He was detained by bystanders and handed over to the authorities.

"It is too early to speculate" about what caused the incident, an Interior Ministry spokesperson told a regular federal government news conference in Berlin.

Police said it was not yet clear whether it was an accident or a deliberate act.

Germany's Bild newspaper reported that a letter of confession was found in the car, but police have not commented on the report.

The newspaper said the person killed was a teacher who had been with a group of her school children in the street near to the war-ravaged Kaiser Wilhelm Memorial Church, one of the German capital's best-known landmarks.

More than a dozen people were injured, a police spokesperson at the scene in western Berlin said.

Six were in a life-threatening condition, and another three were seriously hurt, the fire service said.

Bild newspaper released a picture of the driver being detained, wearing a yellow pullover, jogging trousers and red trainers.

More than 100 emergency workers swarmed the scene after the incident, police said.

The small silver Renault car was lodged inside a shop after smashing through a plate glass display.

Blankets covered what appeared to be a body in a cordoned-off area guarded by police.

Rescue workers moved apparently conscious people on stretchers towards an ambulance, including one woman sitting up, and another who covered her face with her hand.

"I heard the bang and the crash when we were in a store, and then we came out and we just saw the carnage," John Barrowman, an actor who was at the scene, said in a video posted on his Twitter account.

The site, on a shopping street near a McDonald's restaurant, was cordoned off. Bystanders looked up at a helicopter circling above.

Berlin's mayor Franziska Giffey said she was deeply affected by the incident and said police were racing to establish what had happened.

"The federal government has of course learned of this terrible incident in Berlin today and is very concerned and distressed about it," a government spokesperson added.

"Our thoughts, our sympathy are with the injured and their relatives."

The incident took place near the scene of a fatal attack on 19 December 2016.

Anis Amri, a failed Tunisian asylum seeker with Islamist links, hijacked a truck, killed the driver and then ploughed it into a crowded western Berlin Christmas market.

He killed 11 more people and injuring dozens of others. Amri then fled to Italy, where Italian police shot him dead.

A police spokesperson said that police had learned from the experience in 2016 in dealing with today's incident.