Most of that number have absolutely no shelter at all, while close to 20,000 are sleeping underneath trees for the little protection they provide.
At least six children are reported to have died from the cold in recent days, according to the International Rescue Committee (IRC). One family was found dead in the snow after they were unable to find a place to stay.
The scale of the humanitarian crisis has shocked charity workers and officials. Aid organisations were already stretched to breaking point when waves of people began to flee a government offensive to capture the last rebel-held province.
More than 800,000 people have fled their homes since 1 December, the vast majority of them women and children, making it the biggest wave of displacement of the entire war.
“Unimaginably, an already catastrophic situation in northwest Syria is getting even worse,” said Misty Buswell, from the IRC.
“As people lose their homes, see their children killed by airstrikes or before their eyes as they desperately try to keep them warm, it is not only the humanitarian situation in Idlib that is at breaking point, but the people there too,” she added.
With temporary camps full, mosques and schools had opened their doors to provide shelter. But they too are now full and people have nowhere to go.
A blanket of snow in some parts of Syria's north has exacerbated the situation. As temperatures drop to -11 degrees Celsius, people are burning clothes, tyres and plastic bags to stay warm.
Mark Cutts, the UN deputy regional humanitarian coordinator for the Syria crisis, described the new displacement in Idlib as an “exodus” as he called for international action on the crisis.
“We’ve been calling repeatedly in the Security Council for the protection of the civilian population,” he told The Independent this week.
“What’s this world coming to if we’re not able to protect 3 million civilians – mostly women and children – who are trapped in a war zone?” he asked.
The battle in Idlib has pitted an array of nationalist and jihadist rebel groups, some of which are supported by Turkey, against the Syrian government and its backers Russia and Iran.
Russian and Syrian government airstrikes have targeted hospitals and emptied entire towns and cities of people. The fighting has taken a devastating human toll over the past year. According to the United Nations, at least 1,710 civilians have been killed in northwest Syria, including 337 women and 503 children in northwest Syria.
The Syrian government has vowed to bring the entire country back under its control, and is currently focusing its fire on Idlib. In recent days, government troops captured a strategic highway that runs between Aleppo and Damascus and came into direct confrontation with Turkish forces, which are stationed at observation points near the frontlines.
Ankara is desperate to avoid another wave of refugees crossing into Turkey, and has sought to push back against the Syrian government offensive.
Thirteen Turkish military personnel have been killed by Syrian government shelling in the past 10 days, while Turkey claimed to have killed dozens of Syrian soldiers in response.
Turkey has sent large-scale reinforcements into the province in recent days, and in the past week, two Syrian government helicopters have been shot down by surface-to-air missiles, likely supplied by Ankara.