Barclays is to cap its overdraft fees at £8 per day, down significantly from the £40 each day some customers have had to pay.
At present, the bank can charge a customer each time a transaction is returned unpaid because there are insufficient funds in a customer's account or because an automated payment pushes them into an unauthorized overdraft.
By introducing a strict 'one per day' cap later this month and giving customers the chance to sign up to receive text alerts about how to avoid such fees altogether by paying money into their accounts quickly, Barclays said it will help customers save £7 million through the course of the year.
The bank has also agreed to maintain the £15 'personal reserve' or buffer it gives customers to stop them being charged for going into an unauthorised overdraft by small amounts.
It said the buffer resulted in customers not being charged £11 million in 2013.
Ashok Vaswani, chief executive of Barclays Retail and Business Banking, said: "January can be a difficult month for customers to make ends meet as they may be catching up with the cost of Christmas. No-one wants to be charged because they hadn't been warned that a transaction would fail, or from simply going a few pounds into the red, which is why these changes are important.
"We know that text alerts, buffers and caps are putting customers in control and helping them to save money which is why we are now extending them to a wider range of fees. These changes will cost us money, but I believe that our customers will value the fact that we are doing the right thing by them."