US President Donald Trump stopped short of pardoning former Arizona sheriff Joe Arpaio but signalled to a boisterous rally crowd here that such a move could be coming soon, saying "I think he's going to be just fine".

"I'm not going to do it tonight because I don't want to cause any controversy," Trump said of Arpaio, who was convicted last month of criminal contempt for ignoring a federal judge's order to stop detaining people because he merely suspected them of being undocumented immigrants.

Trump last week told Fox News he was "seriously considering'' a pardon for Arpaio and said he might do it soon, sparking speculation he would use today's campaign in Phoenix to make the move.

At the outset of the rally, a defiant Trump also blamed the media in an extended diatribe for the widespread fallout he's received over his reaction to the hate-fuelled violence in Charlottesville.

Advertisement

Trump opened his rally by recounting the series of statements he made in the days following the melee, arguing that he "spoke out forcefully against hatred and bigotry and violence" but that the media - whom he called "sick people" - refused to report it properly.

"You know where my heart is," Trump said, before pulling a copy of his first of three statments on the violence out of his suitcoat and reading it his audience. He later accused the media of giving a platform to the hate groups that were central ot the violence in Charlottesville that led to three deaths.

Following his comments last week, Trump was criticised by Democrats and Republicans alike for blaming "both sides" for the violence and say "fine people" had marched along with white supremacists to protest against the removal of a Confederate statue. He did not mention either of those remarks today.

The rally, organised by Trump's re-election campaign, came as the President continues to face criticism for his response to Charlottesville and feuds with fellow Republicans in Congress whose cooperation he will need to kick-start his sputtering legislative agenda next month.

Phoenix Mayor Greg Stanton, (D), had urged Trump to not come to his city this week, saying that it was too tense of a time in the wake of the deadly Charlottesville clash between white nationalists and counter-protesters and that Trump could be setting the stage for more violent strife here. He also said that a pardon of Arpaio - who is reviled by many in the Latino community here - could make the situation even more dire.

Inside the Phoenix Convention Centre, Trump was given a hero's welcome from supporters who chanted "USA! USA! USA!" and waved signs reading "Drain The Swamp," "Make America Strong Again" and "Make American Proud Again".

"You were there from the start, you've been there every day sense, and, believe me Arizona, I will never forget it," Trump said at the outset of his remarks, referencing a large crowd he drew at the site early in his campaign. His crowd today numbered in the thousands but did not completely fill the hall.

Prior to his arrival , Trump travelled to Yuma, Arizona, where he received a closed briefing on border protection - something he touts as among his Administration's successes - and greeted Marines and their families, signing a couple of autographs on camouflage hats.

Advertisement

There was a heavy police presence in downtown Phoenix, with law enforcement seeking to maintain civility between Trump supporters and detractors.

About an hour before Trump was scheduled to arrive, hundreds of protesters gathered across the street, shouting, "This is what democracy looks like!" Metal barricades divided them from the red-capped people streaming into the rally, some grinning and waving.

Uzma Jafri, a 40-year-old doctor from Phoenix, walked through the crowds of Trump supporters and protesters with a backpack of medical supplies. She said she came here to quickly treat anyone if violence broke out.

Brian Ratchford came to the event armed with a .357-calibre gun to defend Trump supporters if things get out of hand

"He's an American for Americans," said Ratchford, 47, of Tucson. What Trump said after Charlottesville "was perfect - people on both sides were causing the problems".