How to Migrate Mastodon to GoToSocial Lightweight Fork
🔍 WiseChecker

How to Migrate Mastodon to GoToSocial Lightweight Fork

You have been running a Mastodon server for a while and now want to switch to GoToSocial, a lightweight ActivityPub server that uses fewer system resources. Migrating your account, followers, and data from Mastodon to GoToSocial is not a one-click process because the two servers handle data differently. This article explains the exact steps to move your Mastodon account to a GoToSocial instance and what data transfers and what does not.

Key Takeaways: Migrating Mastodon to GoToSocial

  • Preferences > Account > Move to a different account: Initiates the follower migration handshake from your old Mastodon account to the new GoToSocial account.
  • GoToSocial admin CLI tool ./gotosocial admin account alias: Sets an alias on the new account so Mastodon recognizes the move request.
  • CSV export of Mastodon lists and blocks: You must manually recreate lists and blocks in GoToSocial because the move API does not transfer them.

ADVERTISEMENT

Understanding What Migrates and What Does Not

Mastodon and GoToSocial both implement the ActivityPub Move activity, but they store data in different formats. When you initiate a move from Mastodon, the server sends a Move activity to all your followers. Followers who are on Mastodon or other compatible servers will automatically follow the new GoToSocial account. Followers on non-compatible servers may need to re-follow manually.

The move process transfers your followers and the following relationships from your old Mastodon account to the new GoToSocial account. It does not transfer your posts, media, lists, blocks, mute settings, or direct messages. GoToSocial does not support importing Mastodon archives, so you must leave your old Mastodon account online as a read-only archive if you want to preserve your post history.

Prerequisites for a Successful Migration

Before you start, you need the following:

  • A running GoToSocial instance with an account created under the same username you used on Mastodon. For example, if your Mastodon username was @alice@mastodon.example, your GoToSocial username should be @alice@gotosocial.example.
  • Admin access to the GoToSocial server command line to run the alias command.
  • Access to your Mastodon account settings to initiate the move.

Steps to Migrate Followers from Mastodon to GoToSocial

Follow these steps in order. Do not skip the alias step, or Mastodon will reject the move request.

  1. Set an alias on your GoToSocial account
    Log in to your GoToSocial server via SSH. Run the following command, replacing the placeholders with your actual Mastodon and GoToSocial account URIs:
    ./gotosocial admin account alias --username alice --also-known-as https://mastodon.example/users/alice
    This tells the GoToSocial account that it is the same person as the Mastodon account. The alias must be set before you start the move from Mastodon.
  2. Log in to your Mastodon account
    Open a browser and go to your Mastodon instance. Sign in with your old Mastodon credentials.
  3. Navigate to the account move page
    Go to Preferences > Account > Move to a different account. This page contains the form to start the migration.
  4. Enter your GoToSocial account handle
    In the field labeled “Move to,” type your full GoToSocial account handle, for example @alice@gotosocial.example. Mastodon will send a Move activity to that address.
  5. Enter your GoToSocial account password
    In the “Current password” field, type the password for your Mastodon account. This confirms you are the owner of the Mastodon account.
  6. Click the Move button
    Click “Move followers.” Mastodon sends the Move activity to the GoToSocial server. The process may take a few minutes. GoToSocial accepts the move and tells Mastodon to redirect followers.
  7. Wait for follower migration to complete
    After the move is initiated, Mastodon displays a banner saying the move is in progress. Followers on Mastodon will see a notice asking them to re-follow the new account. This happens automatically for most followers within 24 hours. You can speed it up by asking your followers to manually follow the new account.

ADVERTISEMENT

What to Do After the Move Completes

Once the move is finalized, your GoToSocial account will have the followers that successfully migrated. You should verify the follower count matches your old account. If some followers did not migrate, you can ask them to follow your new account manually.

Your Mastodon posts remain on the old server. If you want to keep them accessible, leave your Mastodon account online. Do not delete the Mastodon account until you are sure all followers have moved and you no longer need the archive.

You will need to recreate your Mastodon lists and blocks manually in GoToSocial. Export your Mastodon lists as a CSV file from Preferences > Import and export > Export lists. Then import that CSV into GoToSocial if the instance supports list import. Most GoToSocial instances do not support list import yet, so you may need to add each list entry by hand.

Common Migration Problems and How to Solve Them

Mastodon Says “Move Failed: Account Not Found”

This error means Mastodon cannot find the GoToSocial account. Check that you typed the handle correctly, including the domain. Also verify that the GoToSocial account exists and is not suspended. If the domain is correct but the account is not reachable, your Mastodon server may be blocking federation with the GoToSocial domain. Check your Mastodon domain block list in Preferences > Moderation > Federation.

Followers Did Not Automatically Follow the New Account

The Move activity is a request, not a guarantee. Followers on servers that do not support the Move activity must re-follow manually. You can send a public post from your old Mastodon account announcing the move and asking followers to click the follow button on your new GoToSocial profile. Keep the old account online until the majority of followers have moved.

GoToSocial Alias Command Fails with “User Not Found”

The --username parameter must match the username of the account already created in GoToSocial. If you created the account via the admin panel or sign-up form, use that exact username. Run ./gotosocial admin account list to see all accounts on your instance and confirm the username.

Mastodon vs GoToSocial: Key Differences After Migration

Item Mastodon GoToSocial
Resource usage Requires 2–4 GB RAM for a single-user instance Runs on 256–512 MB RAM for a single-user instance
Post import after migration Supports importing posts from Mastodon archive Does not support post import
List and block migration Move API does not transfer lists or blocks Must be recreated manually
Follower migration speed Move request sent instantly, followers update within 24 hours Move request accepted instantly, followers update within 24 hours

After migrating, you can now run a lightweight ActivityPub server with the same followers and following relationships. Next, explore GoToSocial’s built-in moderation tools, which differ from Mastodon’s — for example, GoToSocial uses domain-level blocks instead of individual user blocks in some cases. As an advanced tip, set up a redirect from your old Mastodon domain to your GoToSocial domain using an HTTP 301 redirect in your web server config so that profile links still work.

ADVERTISEMENT