An eclectic and international mix of demonstrators peacefully tramped through the streets of Hamburg on Saturday, a show of anti-capitalist muscle in earshot of the world's top leaders who were finishing up at the G20 summit.
Tens of thousands showed up Saturday in the northern German city, police said.
Waving flags, wielding banners and holding posters, they displayed their support for a slew of issues, including migrant rights, Kurdish independence, LGBT rights and environmental initiatives.
Julian G., who lives in a Hamburg suburb, told CNN he was demonstrating for the rights of Turkish people who've lost their freedoms under President Recep Tayyip Erdogan's government.
"I want to stand with my friends in Turkey who are trapped in an authoritarian system and can't demonstrate freely," he said.
Chinese human rights groups based in European countries called for the release of Chinese political prisoners, including Nobel Peace Prize winner Liu Xiaobo.
"We are free human beings and are going to fight, not only for all human rights in China but for the basic rights of all and humans across the world," said activist Tienchi Martin-Liao, president of the Independent Chinese PEN Center.
Saturday's turnout includes two separate demonstrations that were to converge at one large meeting place. An estimated 22,000 people marched in one of those.
A festive and communal feel pervaded the crowds, with people holding climate change signs and feminism posters and grooving to music. Many came with family.
Carolin Wolter, 25, who showed up with her daughter Levke, 5, said she's most concerned about how the G20 leaders address climate change.
"It's the first main important issue to speak about, especially for my daughter, whose future lies in the decision of these leaders," Wolter said. "And that worries me."
The calm atmosphere was in sharp contrast with the restive and angry mood in Thursday's and Friday's protests, where street violence flared.
Since the demonstrations began this week, at least 213 officers have been injured, 114 people have been arrested and 89 have been taken into custody, police said Saturday.
Security in the city of 1.8 million has been bolstered with 1,000 police officers from around Germany after Hamburg police asked for more help as tension grew Friday.
Protesters set bonfires in the streets, looted shops and stacked up blocks of pavement to use as projectiles. At first, police stayed back, while demonstrators threw rocks and bottles and then retreated.
But shortly before midnight, police moved forward. They fired tear gas and water cannons and set off flash-bang grenades.
Protesters hurled bottles of looted champagne into the fires, causing popping noises that sounded like fireworks. At one store, residents tried to stop people from stealing from the shop windows.
The Group of 20, which includes 19 countries and the European Union, accounts for about 80% of the global gross domestic product. Around two-thirds of the world's population live in a G20 country.
Climate change, terrorism and migration were among the issues during the two-day meeting in what is the birthplace of German Chancellor Angela Merkel.