Nearly half of Britons paid for their Christmas on credit this year, research from a consumer group found.
Which? said 46pc of people it surveyed used credit cards, overdrafts, store cards or payday loans to cover Christmas spending this year, while more than a third (36pc) dipped into their savings.
Some 54pc of consumers expect their budgets to be even tighter next year, and four out of 10 said they had significantly cut back on their spending this Christmas.
Almost a quarter of those surveyed said that spending on their credit cards and overdrafts was the only way they could afford to pay for Christmas.
Those who plundered their savings took out an average of £380 while those who used credit to cover Christmas costs typically borrowed £301.
Some 12pc of people used authorised overdrafts, 8pc spent on their store cards and 5pc of people borrowed money from friends or family.
Half of people did not buy as much food and 45pc bought less high quality food than last year because of increasing food prices.
Families' budgets are expected to come under further pressure next year from soaring energy bills, following a string of price hike announcements.
Which? executive director, Richard Lloyd, said: "Most of us like to splash out on family and friends at this time of year so the news that millions of people have drastically cut back on Christmas spending or taken out loans to cover Christmas costs shows just how squeezed household budgets are right now.
"It also shows how far we are from a consumer spending-led economic recovery."
The British Bankers' Association (BBA) said last week that cautious households are paying back "virtually as much as they borrow" , despite seeing a pick-up in people spending money on their credit cards and taking out mortgages to buy a home.
Which?'s survey echoes research from financial information company Markit, which recently found that three-quarters of households believe their finances will worsen or at best stagnate in 2013.
More than 2,000 people took part in the Which? survey across Britain.