France marked two years Monday since its worst ever terror attacks, releasing colourful balloons into the sky to remember the 130 people killed on a Friday night out in Paris.
President Emmanuel Macron laid wreaths at the six locations where gunmen and suicide bombers struck on November 13, 2015 targeting the national stadium as well as bars, restaurants and the Bataclan concert hall.
Two members of Eagles of Death Metal -- the Californian band who were on stage at the Bataclan when the carnage began -- performed a surprise mini-concert near the venue where 90 people were massacred.
Lead singer Jesse Hughes was visibly moved as he handed white roses to families of the victims after singing "Save a Prayer", the song the band had just finished playing when the gunfire began.
He said he was going through "a million different emotions".
"It is difficult to not to remember the people who were taken from us like our friend Nick Alexander (the band's merchandise manager) and so many others," Hughes told reporters.
"We watched people give their lives for their friends and we were able to bear witness to that," he added.
"We have a burden of responsibility to make certain that everyone knows that is the kind of love that exists in this world."
Macron and his wife Brigitte joined relatives of the victims as they released dozens of multi-coloured balloons in honour of the dead.
"I've never been back inside," said a Bataclan survivor who gave his name only as Patrice.
"But it's important to come, for all the victims -- those who did not come out alive, and all the injured."
The Paris attacks were among a series of jihadist assaults that have killed more than 240 people in France since 2015, starting with the shooting at satirical weekly Charlie Hebdo.
Macron spoke with victims' relatives at each of the attack sites -- but some refused to meet him in protest at what they say is a lack of government support.
"No one has been speaking to us since Emmanuel Macron got rid of the office for victims' support," said Michael Dias, whose father Manuel was killed by a suicide bomber outside the stadium.
"We have been completely left behind," he told the BFM news channel.
Elisabeth Boissinot, whose daughter Chloe was killed at the Carillon bar, declined her invitation to what she criticised on Facebook as a "victory lap" by the president at the time when she said victims had been "forgotten".
The attacks profoundly shook France, triggering a state of emergency that was lifted only this month after Macron signed a controversial new anti-terror law.
The law gives authorities sweeping powers to search homes, shut down places of worship and restrict the movements of suspected extremists.
Some 7,000 troops remain on the streets under an anti-terror operation known as Sentinelle, carrying out patrols and guarding vulnerable sites such as tourist hotspots.
"The threat level clearly remains high," Prime Minister Edouard Philippe said on Monday.
The sprawling police investigation into the Paris attacks continues with Salah Abdeslam, the only man directly involved in the attacks to have survived, awaiting trial.
Germany's national football coach Joachim Loew -- whose team was playing at the Stade de France when a suicide bomber blew himself up outside -- said he was still haunted by memories of the attack.
His squad were forced to spend the night at the stadium under lockdown.
"You do not forget something like that. The memories return again and again," Loew told a press conference.
His French counterpart Didier Deschamps added: "I will never forget these moments of agony, of sadness, of tears. I will also never forget the formidable chain of solidarity after the event in France and beyond our borders."
EU home affairs commissioner Dimitris Avramopoulos described the "savage attacks" two years ago as an assault on "our collective humanity".
"The strongest resistance to terrorism is our unity," he added, calling for European countries to work together better to fight jihadists.