Temperatures plunged to -23C overnight, the lowest in the UK in more than two decades, following an “extreme freeze”.
The mercury dropped in Braemar, Aberdeenshire, the coldest temperature recorded in the UK since 1995, the Met Office said.
Forecasters said the last time a temperature below -20C was recorded in the UK was December 23, 2010.
Kinbrace in the Highlands plummeted to -21.1C overnight, Strathallan dropped to -18.1C, Lossiemouth registered -15.2C, while Gogarbank in Edinburgh recorded -12.9C.
Aberdeen Airport also dropped to -15C as Edinburgh Airport registered -14C, Inverness Airport -13C and Glasgow Airport -11C.
Scattered snow showers are expected across the east and north coasts of Scotland until 12pm on Friday.
A yellow weather warning has been put in place with parts of the Borders, Edinburgh, Perthshire, Tayside, Aberdeenshire, Moray, the Highlands and Orkney Islands expected to be worst hit.