Customers who have reached the end of their mobile phone contract should have their phones unlocked from the network for free, says consumer group Which?
It believes that keeping phones locked prevents customer finding a better deal by switching providers.
Pay-as-you-go mobiles should not be locked at all, it said.
One mobile operator said its phones were locked to prevent fraudulent activity.
When a mobile phone is purchased from an operator it is locked to that particular network until the contract expires or until the customer requests it is unlocked. This means the phone will not work if the Sim card from another network is used in the device.
Which? said that companies should also be forced to tell customers which is the best deal for them once their current contract has expired.
"Mobile phones are an essential part of daily life for many people and consumers shouldn't be locked into contracts that do not suit their usage," said Which? executive director Richard Lloyd.
'We want to send a message to mobile phone companies that they should help customers get a better deal by alerting people that their contracts are about to end and by unlocking handsets for free."
Some 70% of the 2,100 people surveyed told Which? that if companies did unlock phones at the end of contracts it would encourage them to find a deal that was better value for money.
Currently mobile phone operators charge to have phones unlocked and generally will do so only if a customer requests it.
O2 does not charge customers who are on a contract but levy a £15 fee for pay-as-you-go users.
"Pay and Go handsets may be subsidised at point of sale and can be exploited for fraudulent purposes through box breaking. Our charge to unlock the phone covers the handset subsidy, the administrative costs of unlocking, but also acts as a deterrent for fraud activity," an O2 spokesperson told the BBC.
Box breaking is the name given to the purchase of locked handsets that are then unlocked and sold at a profit to dealers overseas where there are little or no subsidies on phones.
EE charges both contract and pay-as-you-go customers £20.42 to unlock a handset and will only unlock a phone after six months.
Vodafone charges its customers £19.99 to unlock their devices.
Three said that since January all its devices were now sold unlocked and anyone who purchased a handset before this time could get it unlocked free of charge.
Advice on the personal finance website Moneysavingexpert.com says that even with an upfront charge for unlocking a mobile, the savings should quickly outweigh the outlay. It could also give you better access to promotional deals and potentially make it cheaper to use a phone overseas as foreign Sim cards could be used in the device.