War crimes were committed by all parties against Syrian civilians during the battle for Aleppo last year, UN human rights investigators say.
Daily air strikes by Syria's government and its ally Russia claimed hundreds of lives, according to a new report.
Government forces also dropped chlorine bombs, resulting in hundreds of civilian casualties, it said.
Meanwhile, rebels were accused of firing shells indiscriminately at government-held areas and of using human shields.
The evacuation of the rebel enclave in eastern Aleppo in December, which brought the battle to an end, also amounted to forced displacement, the investigators said.
The UN Human Rights Council's commission of inquiry on Syria interviewed hundreds of eyewitnesses, and examined satellite imagery and remnants of explosive devices.
They found civilians caught in the fighting during the last six months of the battle for Aleppo were left vulnerable to repeated violations of international law.
Air strikes carried out without warning
As part of a strategy to force those inside the city's rebel-held east to surrender, pro-government forces imposed a siege in late July, trapping civilians without adequate food or medical supplies, and stepped up an aerial campaign.
The investigators singled out the air strikes that destroyed or otherwise rendered all hospitals in eastern Aleppo out of service by December, noting that no military targets were identified as being present in or around the facilities, and that no warnings were given prior to any of the attacks.
The report does not, however, state explicitly that Russian air strikes violated international law. The Syrian and Russian air forces use the same planes and many of the same weapons, and UN investigators were unable to connect Russia to any particular incident.
At the time, both the Syrian and Russian governments denied targeting civilians or civilian infrastructure, and blamed rebel fighters for operating in residential areas.
The report also alleged that Syrian government forces carried out September's attack on a humanitarian convoy in a rebel-held town west of Aleppo, in which 15 aid workers died.
The attack was carefully planned, the report said. Bombs designed for soft targets were chosen, and when the aircraft ran out of bombs, they strafed survivors.
The Syrian government has denied responsibility for the convoy attack, which the US alleged at the time was carried out by Russian warplanes. Russia meanwhile suggested that a US drone was to blame.
Chlorine bombs used during siege
The UN investigators said an "alarming number" of allegations of the use of chlorine were reported during the siege of eastern Aleppo. In at least two incidents, they found chlorine bombs were dropped by government forces.
The use of chlorine as a weapon is prohibited by international law as well as the Chemical Weapons Convention, to which Syria is a party.
The Syrian government has always denied using chemical weapons, although the UN has accused it of dropping chlorine bombs in three attacks in 2014 and 2015.
Indscriminate shelling killed dozens
The investigators found that throughout the siege rebel groups continuously shelled western Aleppo using mostly unguided and imprecise weaponry, including so-called "hell cannons".
Dozens of civilians were killed or injured.
The report said the attacks were launched without a clear military target and intentionally terrorised the civilian population, constituting a war crime.
As the situation deteriorated in eastern Aleppo, some armed groups withheld humanitarian aid from civilians, violently prevented them from trying to flee across the frontline and used them as human shields, according to the investigators.
The report said the fall of Aleppo was "characterised by reprisals, the most serious of which were executions by members of pro-government forces of hors de combat armed groups fighters and the murder of their civilian family members".
There were also reports of arbitrary arrests of persons suspected of belonging to rebel groups, including doctors, and of men and boys being subjected to forced conscription.
The government has rejected claims that it killed or detained non-combatants.