One witness said a motorcyclist tried to stop the rampage by drawing level with the truck and attempting to open the door of its cab before he fell and ended up under its wheels.
Two children were confirmed among the dead and another 50 were being treated in hospital after the attack that left bodies strewn over the palm-lined Promenade des Anglais in the French Riviera resort.
Two US citizens and a Ukrainian were among those killed, their countries said.
Witnesses said the white truck drove at speed into a crowd over a distance of two kilometres (1.3 miles) after they had been watching a fireworks display on France's national day. City authorities said Friday that some 30,000 people had watched the display.
More From This Section
Details meanwhile began to emerge about the driver, identified as 31-year-old Mohamed Lahouaiej-Bouhlel.
Neighbours described him as a loner who never responded to their greetings.
Witnesses said he had also fired at police before officers shot him dead.
"France was struck on its national day... The symbol of freedom," said Hollande in a sombre televised address in the early hours today.
The attack was of an "undeniable terrorist nature", he said.
Around 50 children were being treated at a paediatric hospital close to the scene of the attack. Some were "hanging between life and death", a hospital official said.
The State Department said two American citizens were among the dead. A Texas-based newspaper, the Austin American-Statesman, named the victims as 51-year-old Sean Copeland and his 11-year-old son Brodie.
A German freelance journalist who witnessed the attack said he saw a man on a motorbike chase the truck.
"The motorcyclist attempted to overtake the truck and even tried to open the driver's door, but he fell and ended up under the wheels of the truck," Richard Gutjahr, 42, told AFP today.