In his message to the president, Mr. Romney also noted that United States military leaders had distanced themselves from the president.
“Our allies around the world are stunned and our enemies celebrate; America’s ability to help secure a peaceful and prosperous world is diminished. And who would want to come to the aid of a country they perceive as racist if ever the need were to arise, as it did after 9/11?” Mr. Romney said. “In homes across the nation, children are asking their parents what this means. Jews, blacks, Hispanics, Muslims are as much a part of America as whites and Protestants. But today they wonder. Where might this lead? To bitterness and tears, or perhaps to anger and violence?”
Mr. Romney called for the president to apologize.
“He should address the American people, acknowledge that he was wrong, apologize,” Mr. Romney wrote. “State forcefully and unequivocally that racists are 100% to blame for the murder and violence in Charlottesville.”
Mr. Romney was a leading contender to be Mr. Trump’s secretary of state, before the president chose Rex W. Tillerson. He has generally been muted in the controversies of the Trump administration. But he was among the loudest of Mr. Trump’s critics during the campaign: At one point, he derided Mr. Trump as a “phony, a fraud” and warned of damage to the Republican party if he became the nominee.
He closed his message saying it was a “defining moment” for Mr. Trump.
“But much more than that, it is a moment that will define America in the hearts of our children,” he wrote. “They are watching, our soldiers are watching, the world is watching. Mr. President, act now for the good of the country.”
Other Republicans have lashed out against Mr. Trump for his remarks, as well.
On Tuesday, Senator Marco Rubio, a Florida Republican and presidential hopeful in 2016, said white nationalists in Charlottesville were entirely at fault for the deadly violence in Charlottesville.
“The #WhiteSupremacy groups will see being assigned only 50% of blame as a win,” Mr. Rubio said on Twitter moments after Mr. Trump’s remarks. “We can not allow this old evil to be resurrected.”