As of November 2020, BT charges a cancellation fee of £45 if you leave before your contract has expired.