How to migrate Matrix accounts

published: 14 October 2025

Matrix accounts work in a similar way to email accounts - you can choose between many different server providers. Unlike email, its possible to bring your messages with you when you change provider.

These instructions will allow you to fully migrate your account, with the ability to read all your old messages. If you don’t need/want to be able to read your old messages, you don’t need to bother with this. Thanks to Sofie for writing the tutorial that I based this on.

Set up new account

In order to transfer your messages to a new account, you must first set up a new account or have another existing one to transfer the messages to.

Don’t log out of your old account yet though, we have a couple of things to do first.

Export keys

You will need to export your encryption keys. These can be downloaded from your client. You can find the export button in Element located at Settings/Security and Privacy/Export E2E room keys or in Cinny at Settings/Devices/Export Messages Data. You will be asked to input a password and then a file will be downloaded. Remember the password and keep the file safe.

The file will be called something like Element-megolm-export-@yourname_server.org-2025-10-14.txt or cinny-keys.txt depending on your client. It will probably be saved to your Downloads folder.

Consider renaming the file so you don’t overwrite it accidentally, particularly if you use Cinny.

Invite the new account

Using your old account, invite your new account to every “space” (community) that you are in. Also invite your new account to every “room” (group chat) and direct messages that you are in that is not contained in a space.

You don’t need to invite your new account to every room in a space.

Admin permissions

If you are an admin in any rooms you should make your new account an admin in them as well. This can be done through the interface or by sending a command message in that room:


/op @new_account:example.com 100

Replace new_account with the name of your new account and example.com with your new server provider.

Switch accounts

Log out of your old account and into the new account. You may want to keep another device logged into the old account until you have finished switching, so you have a backup in case anything goes wrong.

Import keys

Import your key file that you exported previously. The button is probably next to the export button and named something like Import E2E room keys or Import message data.

Now accept all the invitations from your old account to rejoin all your spaces, rooms and direct messages. If you can’t read the messages yet, don’t panic.

Verify your apps

If your app/client is complaining is unverified, log into your account in your web browser, using a link from the provider, whilst also having the app open.

Click verify and then follow the instructions on both the app and the website. It will probably ask you to confirm that two sets of emojis match.

Your account should now be fully transferred, although you may need to wait a while before you can read all of the messages.

Wait a bit

You may need to wait a while until you can read your old messages. Don’t worry.

Remove old account

Once you have confirmed that you can read all of the messages that you need, remove your old account from every space, room and DM that your new account is in. If you no longer need it, delete you old account.

Fix direct messages

If your direct messages have turned into “rooms” (group chats) send a command message that says /converttodm and it will change back to a direct message.

Done!

Your matrix account has hopefully been migrated! These steps worked for me but if you think they are missing anything, I would love if you emailed me so that I can improve this guide.

Written by Tom Brandis