France is marking the fifth anniversary of a deadly attack on the satirical magazine Charlie Hebdo with street ceremonies and social media tributes.
The hashtag #JeSuisCharlie (I am Charlie) was trending as thousands posted messages honouring the victims.
On 7 January 2015, militant Islamists shot dead 11 people in the magazine's Paris office, before murdering a policeman outside.
It was the beginning of a wave of jihadist attacks across France.
On Tuesday, former French President François Hollande, Paris Mayor Anne Hidalgo and Justice Minister Nicole Belloubet were among those to pay their respects to the victims outside Charlie Hebdo's former offices in the capital.
Several tributes took place, including readings of commemorative plaques, wreath-laying and a minute's silence.
The weekly magazine, which published a special issue marking the anniversary with contributions from the victims' relatives, tweeted: "It was five years ago, it was a century ago, it was yesterday. We do not forget and we will always continue: to speak, to write, to draw."
The message on the cover of the latest issue reads: "New censorship... new dictatorship."
One of the images shared by many on Twitter was a mural by street artist Christian Guémy, which depicts the faces of the Charlie Hebdo editorial staff and others who were shot in the magazine's office five years ago.
The French magazine's editor at the time, Stéphane Charbonnier, was among four cartoonists killed. Sketches and photos featuring Charbonnier, known as "Charb" - who was 47 when he died - were shared on social media.
Philosopher Vincent Cespedes wondered what Charb would have made of the "fiasco" of the aftermath of the attacks. No lessons had been learned and divisions were deeper, he complained.
[...] Souvent, je me demande ce qu’aurait pensé #Charb de ce fiasco d’après-attentats. Humaniste, communiste, on chantait l’« Internationale » à son enterrement... Qu’aurait-il dit de ces milliers de Français qui n’ont versé aucune larme, n’ont exprimé aucune compassion ? 👇 pic.twitter.com/r8Rw8uy73v— Vincent Cespedes (@VincentCespedes) January 7, 2020
Others shared images of support, showing crowds of people brandishing the French tricolour flag and banners reading: "Je Suis Charlie"
Flowers were also placed outside a kosher grocery store in a suburb of the capital, which was targeted in the aftermath of the assault on Charlie Hebdo.
A jihadist gunman killed three customers and an employee at the Hyper Cacher supermarket in Porte de Vincennes in the east of Paris.
The Representative Council of Jewish Institutions in France (Crif) has organised a separate ceremony for the victims of the Hyper Cacher supermarket, which is scheduled for Thursday evening.
Three police officers were among the 17 victims of the gunmen on 7-9 January.
À la mémoire du lieutenant de police Ahmed Merabet assassiné en ce lieu le 7 janvier 2015, victime du terrorisme dans l’accomplissement de son devoir. pic.twitter.com/Ro9b5ZOtPh— Christophe Castaner (@CCastaner) January 7, 2020
In the days following the 2015 attacks, millions of people took part in unity marches across France, linking arms in an act of solidarity.