Police reported 14 arrests and displayed photos on Twitter of weapons seized from demonstrators, including a hunting knife, brass knuckles, clubs and flares.
Supporters and opponents of US President Donald Trump on Sunday faced off in duelling political rallies, forcing riot police to turn out in force in downtown Portland.
The Trump Free Speech Rally drew hundreds of demonstrators to a public square near City Hall. A larger throng of counter-protesters and onlookers were also there, amassed on three sides of the park in a heated encounter that grew tense at times, but remained mostly peaceful.
Dozens of black-clad, masked anti-Trump protesters waved an "Antifascist Action" flag at pro-Trump activists across the street at one point, yelling, "Nazis, go home," while members of the opposing rally, some carrying American flags, chanted, "USA, USA."
A large number of helmeted police officers took up positions to keep the two sides apart, break up scuffles and detain protesters seen crossing police lines to agitate the other side.
Police reported 14 arrests throughout the day, and displayed photos on Twitter of weapons seized from demonstrators, including a hunting knife, brass knuckles, clubs, roadside flares, a slingshot and several homemade shields. No injuries were reported.
Another collection of weapons seized today. pic.twitter.com/tdMmMSM2Wp— Portland Police (@PortlandPolice) June 5, 2017
Tempers and shoving matches flared periodically, but law enforcement kept violence mostly in check. Late in the day, as the pro-Trump rally was ending, police ordered counter-demonstrators to disperse from two adjacent parks, prompting some in the crowd to hurl rocks and other projectiles at officers.
Officers responded by firing volleys of "pepper ball" rounds. Police earlier reported seeing protesters removing bricks from the exterior of a public restroom.
Tensions were already running high a week after a man yelling religious and racial slurs at two teenage girls on a Portland commuter train stabbed three passengers who intervened, killing two of them.
One of the girls in the incident, which the FBI is investigating as a suspected hate crime, was black, and the other wore a Muslim headscarf.
Jeremy Christian, a 35-year-old with a prior felony record, was arrested and charged with murder in the May 26 attack, which Trump condemned as "unacceptable," while saluting the victims for "standing up to hate and intolerance."