user48662: Can this be done for free?
also please mention wallets who do not charge transaction fee (if they exists)

user-1: No, you don't have to pay the transaction fees if you want to switch to a different wallet. If you have the private key of the first one, just import it into the second one and there you go.

user5406: If you have the option to export the private keys from one wallet and import them to another, you can transfer funds between wallets for free. You should only consider this option if you fully control both wallets as any private key known to another party should be considered insecure and not used any further, so you'd want to move the coins to a key fully under your control anyway.
If you transfer funds by means of sending them from one address to another, it will always require a transaction fee to buy the necessary blockchain space to get the transaction confirmed. If you go this route, you may want to consider sending at a low feerate if you have the patience to wait longer for a confirmation to pay a lower relative fee.
Note: Many web-wallet services take full custody of your bitcoins, and do not keep funds in separate addresses for each user. Thus, they will be both unwilling and unable to provide you the private key for importing elsewhere.

48662: <p>Can this be done for free?
also please mention wallets who do not charge transaction fee (if they exists)</p>
 -1: <p>No, you don't have to pay the transaction fees if you want to switch to a different wallet. If you have the private key of the first one, just import it into the second one and there you go.</p>
 5406: <p>If you have the option to export the private keys from one wallet and import them to another, you can transfer funds between wallets for free. You should only consider this option if you fully control both wallets as any private key known to another party should be considered insecure and not used any further, so you'd <em>want</em> to move the coins to a key fully under your control anyway.</p>
<p>If you transfer funds by means of sending them from one address to another, it will always require a transaction fee to buy the necessary blockchain space to get the transaction confirmed. If you go this route, you may want to consider sending at a low feerate if you have the patience to wait longer for a confirmation to pay a lower relative fee.</p>
<p><em>Note: Many web-wallet services take full custody of your bitcoins, and do not keep funds in separate addresses for each user. Thus, they will be both unwilling and unable to provide you the private key for importing elsewhere.</em></p>
