How to Migrate to a Self-Hosted Mastodon Instance From mastodon.social
🔍 WiseChecker

How to Migrate to a Self-Hosted Mastodon Instance From mastodon.social

You have been using mastodon.social for a while and now want full control over your data, moderation policies, and server rules. Moving to a self-hosted Mastodon instance lets you own your domain, set your own content policies, and avoid the limitations of a shared public server. This guide explains the complete migration process from mastodon.social to a self-hosted Mastodon server, including account setup, follower transfer, and data export.

Mastodon provides built-in tools to move your profile, followers, and follows to a new account. The process does not transfer your old posts or direct messages. You must set up a new account on your self-hosted instance first, then initiate the move from your old mastodon.social account.

This article covers every step required for a successful migration, from preparing your self-hosted instance to verifying the transfer is complete.

Key Takeaways: Migrating From mastodon.social to a Self-Hosted Instance

  • Preferences > Import and Export > Export: Downloads your archive of posts, lists, and media from mastodon.social.
  • Preferences > Account > Move to a different account: Initiates the follower migration handshake to your new self-hosted account.
  • New instance account settings > Profile: Displays the redirect notice that tells visitors your new address.

Understanding the Mastodon Account Migration Mechanism

Mastodon’s account migration feature is designed to move your social graph, not your content. When you move from mastodon.social to a self-hosted instance, the following items are transferred:

  • Your followers — they are automatically redirected to follow your new account.
  • Your follows — the accounts you follow are copied to your new profile.
  • Your profile display name and avatar — these are copied from the old account.

The migration does NOT transfer:

  • Your old posts (toots) — they remain on mastodon.social.
  • Your direct messages — they stay on mastodon.social.
  • Your bookmarks and favorites — they are not migrated.

The old mastodon.social account is set to redirect mode. Any visitor who goes to your old profile URL will see a notice pointing to your new self-hosted account. You can continue to access your old account for posts and messages, but you cannot post from it after migration.

Prerequisites for Migration

Before you start, make sure you meet these requirements:

  • You have full admin access to your self-hosted Mastodon instance. If you are not the admin, ask the admin to create your new account.
  • Your new account on the self-hosted instance is at least 30 days old. Mastodon requires this to prevent spam migration.
  • You can log in to both your mastodon.social account and your new self-hosted account at the same time.
  • Your self-hosted instance has a valid email address for notifications and verification.

Steps to Migrate From mastodon.social to a Self-Hosted Instance

Follow these steps in order. Do not skip any step.

Step 1: Export Your Data From mastodon.social

  1. Log in to mastodon.social
    Open your browser and go to mastodon.social. Enter your username and password.
  2. Open Preferences
    Click the gear icon in the right sidebar or go to https://mastodon.social/settings/profile.
  3. Go to Import and Export
    In the left menu, click Import and Export.
  4. Click Export
    Under Export, click the Export button. Mastodon downloads a ZIP archive containing your posts, media, lists, and account data.
  5. Save the archive to your computer
    Store the ZIP file in a safe location. You will use it later to restore lists and follows if needed.

Step 2: Set Up Your Self-Hosted Instance Account

  1. Log in to your self-hosted instance
    Open your instance URL in a browser. Log in with the account created by your admin or through the registration form.
  2. Complete your profile
    Go to Preferences > Profile. Set your display name, bio, and avatar to match your mastodon.social account. This helps followers recognize you.
  3. Wait for the 30-day requirement
    If your account is less than 30 days old, the migration will fail. Check the account age in Preferences > Account. If it is too new, wait until the account is at least 30 days old before proceeding.

Step 3: Initiate the Account Move From mastodon.social

  1. Log in to mastodon.social
    Open mastodon.social and enter your credentials.
  2. Open Preferences
    Click the gear icon in the right sidebar.
  3. Go to Account
    In the left menu, click Account.
  4. Click Move to a different account
    Scroll down to the Moving section. Click Move to a different account.
  5. Enter your new account handle
    Type your full new account address in the format @username@yourdomain.com. For example, if your new account is @john@example.social, enter exactly that.
  6. Enter your new account password
    Mastodon asks for the password of your new self-hosted account to verify ownership. Type the password.
  7. Click Move Followers
    Mastodon sends a request to your new instance. The move process starts. It may take a few minutes to complete.

Step 4: Verify the Migration

  1. Check your new account
    Log in to your self-hosted instance. Go to your profile page. You should see your old followers listed in the followers count.
  2. Check your old account
    Visit your old mastodon.social profile URL. You should see a banner that says This account has moved to @username@yourdomain.com.
  3. Post a test toot
    From your new account, post a short toot. Ask your followers to confirm they see it. If they reply, the migration worked.

Step 5: Import Your Lists and Follows (Optional)

  1. Extract the exported archive
    Open the ZIP file you downloaded from mastodon.social. Find the file named following_accounts.csv.
  2. Go to Import and Export on your new instance
    Log in to your self-hosted instance. Open Preferences > Import and Export.
  3. Click Import
    Under Import, click Choose File. Select the following_accounts.csv file. Click Upload.
  4. Confirm the import
    Mastodon processes the CSV and adds the accounts you followed on mastodon.social to your new account. This step is optional because the migration already copies follows, but it ensures no follows are missed.

Common Issues During Migration

Account Age Requirement Not Met

If you see an error saying the new account must be at least 30 days old, you cannot proceed until that time passes. Check the account creation date in Preferences > Account on your self-hosted instance. Wait the remaining days and try again.

Password Verification Fails

Mastodon requires the password of your new account during the move process. If you type the wrong password, the move fails. Double-check the password by logging out and logging back into your self-hosted instance. Then retry the move from mastodon.social.

Followers Not Showing on New Account

After the move, followers may take up to 24 hours to appear. Mastodon instances process follower migrations asynchronously. If followers are missing after 24 hours, ask one follower to manually unfollow and refollow your new account. This triggers a fresh follow request.

Old Account Still Shows Active

After migration, your old mastodon.social account remains visible but is set to redirect mode. You cannot post from it. If you want to delete the old account entirely, go to Preferences > Account > Delete account. Deleting the old account removes the redirect notice, so only do this after you are certain followers have switched.

Mastodon.social vs Self-Hosted Instance: Key Differences

Item mastodon.social Self-Hosted Instance
Domain mastodon.social Your own domain
Moderation control Follows server rules You set the rules
Data ownership Subject to server policy Full control
Server load Shared with thousands Depends on your hardware
Cost Free Hosting and domain fees
Customization None Full theme and feature control

After completing the migration, you now have full administrative control over your Mastodon experience. Your followers have been redirected to your new self-hosted instance, and your profile is active on your own domain. Next, explore the instance moderation panel to set content filters and local rules. For advanced users, consider enabling ActivityPub relay subscriptions to boost your instance’s federation reach.