Ismaaiyl Abdullah Brinsley, 28, had a history of violence and mental instability.
Candlelit vigils have been held in New York in memory of the two officers, Liu Wenjin and Raphael Ramos.
Ismaaiyl Brinsley shot officers as they sat in their patrol car in Brooklyn before running into a nearby subway station and reportedly shooting himself.
He had posted messages on social media saying he would kill police officers in retaliation for the death of Eric Garner, a black man who died when white police officers arrested him.
The Rev Al Sharpton, a prominent civil rights activist, said Eric Garner’s family had no connection to the gunman and called the killings “reprehensible”.
Community leaders have called for peace and the mayor of New York, Bill de Blasio, has ordered flags across the city to be flown at half-mast.
Ismaaiyl Brinsley had been arrested at least 19 times and had a troubled childhood so violent that his mother was afraid of him, police said.
In online postings, he expressed “self-despair and anger at himself and where his life was”, Chief of Detectives Robert Boyce said.
Before the shootings, Ismaaiyl Brinsley shot and wounded a former girlfriend.
The killings come at a tense time, with nationwide protests over the deaths of unarmed black men at the hands of police officers.
The attacks have also put pressure on the New York mayor.
Officers turned their back on him at a news conference, angry at what they saw as his support for protests against the police.
iF8uQKNDKuwPresident Joe Biden has urged pro-Palestinian protesters on university campuses to uphold the rule of…
Blue Ivy Carter has joined the voice cast of The Lion King prequel Mufasa: The…
At least five people, including a four-month-old baby, have been killed after dozens of tornadoes…
Harvey Weinstein has been hospitalized just days after his 2020 rape conviction in New York…
Hamas has published a video showing the first proof of life of US and Israeli…
Prosecutors and Donald Trump’s attorneys delivered opening statements and the first witness was called on…