President Obama said the world was “united in horror” at the situation.
“Responsibility for this brutality lies in one place alone: with the Assad regime and its allies, Russia and Iran,” he told a White House news conference.
“And this blood and these atrocities are on their hands.”
He added there had been no appetite for a big US military intervention earlier in the war, that he believes would have been the only way to stop the bloodshed.
“Unless we were all in and going to take over Syria we were going to have problems,” he said.
“It sounded like the right thing to do but it was going to be impossible to do this on the cheap.”
He was speaking after Russia’s defence ministry claimed that Syrian government forces had “liberated” Aleppo.
In a statement, the ministry said troops were eliminating the “last pockets” of rebel resistance in the city.
It said: “The operation of liberation of Eastern Aleppo, controlled by the militants, has been completed.
“The Syrian pro-government forces are liquidating some points of radical resistance.”
The UN operation to evacuate the 50,000 people left in a tiny part of the east of the city has been suspended.
Eight explosions were reported and “obstructions” were blamed for halting convoys leaving the city, said Syrian officials.
Syrian state television claimed militants had tried to take prisoners with them during the evacuation, breaching a ceasefire deal.
It also claimed they had opened fire on a convoy carrying evacuees at a crossing point, but Turkey’s Anadolu news agency blamed it on pro-Assad militia.
“Aleppo is now a synonym for hell,” UN Secretary-General Ban Ki-moon told reporters. “I very much regret that we had to stop this operation.”
The city had been divided between government and rebel areas in the near six-year civil war.
But a rapid advance by the Syrian army and its allies that began in mid-November deprived the insurgents of nearly all their territory.
Russian President Vladimir Putin announced a major new peace initiative for Syria on Friday.
He said he was working with Turkey to set up talks between Damascus and the opposition to be held in Kazakhstan.
He said he and Turkish President Recep Tayyip Erdorgan were working for an overall truce in Syria.
The evacuation of civilians and fighters began on Thursday under a deal that would allow Syria’s regime to take full control of Aleppo.
The Russian Defence Ministry said nine convoys carrying 6,400 people had left in the first 24 hours, including 3,000 rebels and 301 wounded. Turkey, which helped broker the deal, put it at 8,000.
UN envoy Staffan de Mistura said about 50,000 people were still trapped, including 40,000 civilians.
In a video message, President Assad said the “liberation” of Aleppo was “history in the making”.
Four Syrian organisations have sent a UN commission a list of 304 attacks in Aleppo, blaming Russia for violating humanitarian law.
The UN Security Council was set to meet late on Friday to discuss the crisis after a request by France which wants international observers to monitor the situation and ensure aid deliveries.