Colin Powell, who served as secretary of state in Republican President George W. Bush's administration, said on Tuesday he would vote for Democrat Hillary Clinton in the Nov. 8 presidential election, according to Newsday newspaper.
Powell, who made the announcement at an event hosted by a Long Island business group in Woodbury, New York, said Republican Donald Trump was "not qualified" and had sold Americans a "bill of goods" that he could not deliver, Newsday said.
"He has insulted America in one way almost every day," Powell said of Trump, according to the newspaper.
"He has insulted Latino Americans. He has insulted African-Americans. He has insulted women. He has insulted his own party. He has insulted our allies around the world one by one. He has insulted veterans," Powell said.
He praised Clinton and said he considered the Democratic nominee a "friend" whom he had known for 20 years.
"She is smart. She is capable. She was a good secretary of state," Powell said, according to Newsday.
"She is balanced, she has temperament and no matter what anyone says she has stamina ... I think she is fully qualified to serve as the president of the United States and will serve it with distinction," Powell was quoted as saying by Newsday.
In hacked emails leaked in September by a group U.S. intelligence officials suspect is linked to Russia, Powell referred to Trump as "a national disgrace" and said Clinton was "greedy" and had "unbridled ambition."
Powell, a former chairman of the U.S. Joint Chiefs of Staff, also endorsed Democrat Barack Obama in his two successful presidential campaigns in 2008 and 2012.