The crash occurred at Breitscheidplatz in the western part of central Berlin. The truck had Polish license plates, police spokeswoman Kerstin Ziesmer said.
The vehicle sent shoppers running and screaming.
Witness Emma Rushton told CNN that the truck didn't slow down. She said the truck was traveling about 40 mph through the crowded pedestrian area.
"There's no way it was an accident," Rushton said. "We saw at least 10 people" injured and lying on the ground.
Another witness, Shandana Durrani, was 20 feet away from the truck when it rammed several market stalls
"I think everybody thought there was a terrorist attack happening," she said. "People dropped what they were carrying and ran for cover. ... It seemed like the truck just jumped the curb and took a wrong turn and barreled through the crowd."
Durrani, an American who moved to Berlin a few months ago, said slowing to respond to a text message "saved me from being hit."
"I ran behind a stall to get away but there was really no place to go because it was happening so fast," she said.
Jan Hollitzer, deputy editor-in-chief of local newspaper Berliner Morgenpost, said he saw people underneath the truck when it came to a stop.
German officials have been concerned about security around Christmas markets, which are the main place for holiday shopping and refreshments, such as the mulled beverage Gluhwein.
The US State Department alerted US citizens in November to the heightened risk of terrorist attacks throughout Europe, especially during the holiday season. The alert, which encouraged citizens to be cautious at the holiday festivals, expires on February 20.
Julian Reichelt, editor-in-chief at German tabloid Bild, told CNN that the market would be busy every night of the week leading up to Christmas.