Between the flags bobbed the signs. In solidarity with those who were killed they read "Je Suis Charlie" - I'm Charlie - along with similar signs reading "I'm a Jew", "I'm a Muslim" and "I'm a cop". A Muslim man held a sign stating "Islam is against terrorism"; another held one that read "I'm a Muslim, not a terrorist".
All these people - one million, two? - had come to march. Or perhaps it would be better to say, simply, walk. March suggests militancy, aggression, threat, all the things this peaceful coming-together opposed. It wasn't a march. It was a stand.
At the front of the mass gathered world leaders. Francois Hollande linking arms with Angela Merkel, David Cameron with Denmark's Helle Thorning-Schmidt and Mariano Rajoy of Spain.
But we saw other figures, too; figures whose motives were more questionable.
Four days earlier cartoonists were slaughtered for lampooning a religion; now, at a rally in defence of free expression, we saw the King of Jordan, the Tunisian Prime Minister and the Foreign Ministers of Russia and Egypt - countries that suppress free speech and jail journalists for undermining the powerful.
Also paying his respects was Saudi Arabia's ambassador to France. Last year, the kingdom sentenced a blogger to 10 years in prison and 1000 lashes for "insulting Islam". It seems unlikely the public were fooled by such sham reverence.
"C'est dur d'etre honore par des predateurs de la presse," snorted one sign - "It's tough being honoured by the enemies of the press."
Finally, we watched the mass set off. A vast, slow tide of humanity, singing La Marseillaise.
It was extraordinary to see: both noisily uplifting and unspeakably sad. But most importantly, it sent a message, not so much to terrorists as to ourselves.
A rally cannot stop a society being attacked, but it can help to hold it together and give it courage. Look at how many we are. Look how different, yet how unified, we are. Our enemies can strike us, but they shall not defeat us.
I don't believe the motive behind the Paris murders was mere vengeance for blasphemy. The aim was to cause division. Terrorists want to destroy Western society by dividing it.
Terrorists want non-Muslims to blame Muslims, to persecute Muslims, to hate Muslims; and Muslims, in turn, to hate non-Muslims thereby turning to extremism and terrorism.
For those who manipulate religion to serve their own thirst for power, blasphemy is a tool. Make blasphemy punishable by death, and you teach your people two lessons: first, never to question authority and, second, to hate those who think differently.
For the Paris terrorists, the tool had an additional use. When terrorists blow up strangers on a bus, we're horrified. But when they murder specially selected individuals, simply for speaking their minds, we're even more horrified - because freedom of expression is the value the West cherishes most deeply, even as we take it for granted.
Again: they did this to divide.
That was what made this rally so important. It showed Paris, indeed the West, refusing to divide. It showed a nation prizing fraternity as much as liberty and equality.
It showed union, where terrorists sought conflict. To quote the front-page headline of Le Parisien: "Ensemble."
Together.