At least 84 people have died, including children, after a lorry slammed through a crowd celebrating Bastille Day in the southern French city of Nice.
The driver ploughed on for 2km (1.2 miles) on the Promenade des Anglais at about 23:00 local time, before being shot dead by police.
Witnesses say the speeding lorry swerved and zigzagged in an apparent attempt to hit more people.
Police reportedly found guns and grenades inside the lorry.
President Francois Hollande said the attack was of “an undeniable terrorist nature”.
A state of emergency, in place since November’s Paris attacks carried out by Islamic State militants in which 130 people died, has been extended by three months.
The attack in Nice began shortly after the end of a firework display on the seafront for Bastille Day, which is the country’s national holiday.
Paddy Mullan, from Northern Ireland, witnessed the attack and told the BBC that he had “never seen” such fear.
He said the truck “came out nowhere” and started “ploughing” into the crowd.
“This lorry just mounted the kerb, across the street from us and the next thing, all you could hear was banging and shouting and screaming,” he said.
Video posted on social media showed people running through the streets in panic following the incident.
“It zigzagged – you had no idea where it was going,” Nice resident Wassim Bouhlel told Frenchmedia.
“My wife… a metre away… she was dead. The lorry ripped through everything… poles, trees. We have never seen anything like it. Some people were hanging on the door and tried to stop it.”
“It had been a normal evening and we were just walking around,” Joel Fenstertold the BBC. “Suddenly people started running, there were screams and police sirens and policemen shouting at us to evacuate.
“It was terrifying, especially because we didn’t know what was going on. At the time we only had heard some kind of gunshots and we assumed that there were people running around with guns.”
One image on Twitter showed about a dozen people lying on the street.
A white lorry, the front of which was riddled with bullet holes, continued to be examined by police in Nice on Friday morning.
A journalist with the Nice Matin newspaper reported from the scene that there was “a lot of blood”.
About 50 people have been injured, 18 of them critically.
Interior Ministry spokesman Pierre-Henry Brandet denied earlier reports of hostage situations and said the driver of the lorry had been “neutralised”.
He added that officials were investigating whether the driver acted alone.
No group has so far said it was behind the attack, however prosecutors said the inquiry would be handled by anti-terror investigators.
The identity of the man is not yet known, but AFP reported that the identity papers of a 31-year-old French-Tunisian were found in the truck, citing an unnamed police source.
In a nationwide address, Mr Hollande said France was in tears had been “badly hit” but was strong, adding “we need to do everything we can to fight against” such attacks.
“All of France is under the threat of Islamic terrorism,” he said.
The president added that “operational reserves” would be deployed to support the army and security forces across the country, with particular focus on the borders.
US President Barack Obama condemned “in the strongest terms” what he said appeared to be “a horrific terrorist attack in Nice”, the White House said.
The president had been briefed about the situation “and his national security team will update him, as appropriate”, National Security Council spokesman Ned Price said.
British Foreign Secretary Boris Johnson said he was “shocked and saddened by the appalling events in Nice, and the terrible loss of life”.
European Council President Donald Tusk condemned the attack, saying “it’s a tragic paradox that the subject of this attack were people celebrating liberty, equality and fraternity”.
On Friday, flags in France will be flying at half-mast, and Nice’s jazz festival has been cancelled.