In what was both a mass party and a rights rally in Cologne, revellers danced to booming music as confetti and bubbles rained down on them at one of Europe's biggest lesbian, gay, bisexual and transgender community events.
Under a sea of multi-coloured balloons, marchers waved signs that read "We Are Orlando" in tribute to the 49 people killed in the attack at the Pulse gay nightclub in Florida on June 12.
"Love is not a crime," read the t-shirts of many at the Christopher Street Day parade.
The Green Party's parliamentary vice president Claudia Roth said in her speech, "We wear black ribbons - let's not forget Orlando", reported local daily the Kölner Stadt Anzeiger.
Nils Schmidt, a spokesman for the organisers, said as many as 950,000 people joined the event, while police declined to give a crowd estimate.
More than 100 groups in colourful costumes organised floats in the parade, which crossed the Rhine river and then passed through the centre of the city.
One sign said "Rise up! United against Homohate and racism", while other groups called for more help for gay refugees in Germany, and demanded granting same-sex couples full marriage rights, rather than the current "civil partnership" status.