More than 500,000 people joined an anti-violence march in Barcelona protesting at last week's terror attacks in which 15 people died.
At the end of the march, famed Catalan actress Rosa Maria Sarda and Muslim activist Miriam Hatibi read short speeches and poems from a stage in the city's main central square.
Sarda said: "We are not afraid because the behaviour of our fellow citizens has shown a society of solidarity."
Hatibi replied: "We are not afraid" - repeating the march's slogan that thousands then shouted back in Catalan - "because we know that love triumphs over hatred."
Medical authorities said on Saturday that 22 of the over 120 wounded in the August 17-18 attacks are still being treated in hospitals. Six of them remain in a critical condition.
The Islamic State group claimed the attacks in Barcelona and Cambrils that used vehicles and knives, Spain's deadliest in more than a decade.
Eight suspects are dead, two are jailed under preliminary charges and two more remain under investigation.
Emergency workers, taxis drivers, police, firefighters, business owners and ordinary citizens who helped immediately after the terror attacks in Barcelona and Cambrils led the march for peace.
Spain's central, regional and local authorities are trying to send an image of unity by walking behind the emergency workers. In a first for a Spanish monarch, King Felipe VI has joined a public demonstration.
The slogan of the march - "I'm not afraid" in the local Catalan language - has grown from a spontaneous civic answer to the violence into a slogan that the government and Spain's political class have unanimously embraced.
Barcelona Mayor Ada Colau said people must "overflow" the streets of the city in the march aimed at showing a "brave" and "diverse" response to terror attacks.
A tweet sent by Barcelona city hall declared "we are an open, welcoming city of peace. Today we take to the streets again with the cry 'I'm not afraid.'"
Hundreds of volunteers handed out roses from the local florists' association - 50,000 of them red, 10,000 yellow and 10,000 white - the colours in the city's seal.