The crowd of all ages and faiths, including many young families, children and the elderly, marched for six blocks holding signs that read "President Hate, Leave Our State!" and "Trump's Lies Kill."
They marched through leafy Squirrel Hill, the tolerant and diverse neighbourhood that has been a beating heart of Pittsburgh's Jewish community, home to the synagogue where Saturday's carnage took place.
Trump flew into the city with wife Melania to pay his respects at the Tree of Life synagogue, but many in the largely Democratic city say his rhetoric and vitriolic tweets have fanned white supremacy and are fueling a spike in anti-Semitism across the United States.
The rally began with an organizer reading aloud from an open letter written by a group of Pittsburgh Jewish leaders to Trump, telling him he bears responsibility for the shooting and asking him not to come.
"President Trump, you are not welcome in Pittsburgh until you fully renounce white nationalism," she read.
The crowd broke into soft a-capella song, which they continued as they marched through the neighbourhood, watched by residents and shop workers who poured out of their homes and businesses in solidarity.
"I just think it's important to show solidarity in this time of unimaginable tragedy," said Patricia Calderone, 62, a retiree and a photographer, who made a "Trump's Lies Kill" sign.
The Steel City is "stronger than the hate," she said. "It's a very diverse city, it's a small city but people are close, people are united and we're not going to let this happen here and hurt us."
"I can't know what the president is thinking and I cannot know his motivations, but I can know his words," said Gabriel McMorland, 36, who used to live in Squirrel Hill.
"They line up so closely with the words of white nationalist terrorists and racist right-wing conspiracy theories," he added.
"What he's saying are the kinds of thing that a Nazi sympathizer would say and I don't think I'm exaggerating at all to say that."
Toward the end, a short prayer was said in Hebrew, the protesters held their arms up to the sky and tore a piece of black paper in ritual, before observing a moment of silence punctuated only by birdsong.
As they marched on, past a fire station and standing police officers, they applauded loudly and chanted "thank you" in tribute to the first responders who were called out to the massacre on Saturday.
Many in the crowd were too emotional to speak to the press. The organization was disciplined and determinedly peaceful.
A police officer at the scene confirmed there had been no incidents even as the president was in the area mourning the victims.
"I think it's more divisive than uniting," librarian Nonie Heystek, 57, said of Trump's arrival.
Friends of friends were among those killed, she said. "Pittsburgh is a very small place and there's really only two degrees of separation, especially in this neighbourhood."
Some 1,500 protesters marched for six blocks holding signs that read 'President Hate, Leave Our State!' and 'Trump's Lies Kill'.