Threads and Mastodon both use the ActivityPub protocol to let users interact across different social platforms. However, the way each service implements the protocol is not identical. This reference article explains the key technical differences between Threads ActivityPub integration and Mastodon. You will learn what federated features work differently, what limitations exist, and how these differences affect cross-platform posting and replies.
Key Takeaways: Threads and Mastodon ActivityPub Differences
- Profile > Privacy > Fediverse sharing: Enables or disables Threads posts from appearing on Mastodon and other ActivityPub servers.
- Mastodon followers vs Threads followers: Mastodon followers see only public Threads posts; private or follower-only Threads posts do not federate.
- Reply visibility: Threads replies to Mastodon posts appear as comments on Mastodon, but Mastodon replies to Threads posts may not always show in Threads.
How Threads and Mastodon Implement ActivityPub Differently
ActivityPub is a W3C standard that allows different social platforms to exchange content. Mastodon was built from the ground up as a fully federated platform, meaning every public post is sent to all connected servers by default. Threads, on the other hand, is a centralized Instagram-branded app that added ActivityPub support as an optional feature in 2024. This fundamental architectural difference leads to several implementation gaps.
The main differences fall into three categories: federation scope, content visibility controls, and reply threading. Mastodon treats all public posts as federable, while Threads only federates posts from accounts that have enabled Fediverse sharing in their privacy settings. Mastodon also supports a wider range of ActivityPub actions, such as following, boosting, and favoriting across servers. Threads currently supports following and replying but does not fully support boosting or favoriting in the ActivityPub sense.
Federation Scope: What Gets Sent to Other Servers
On Mastodon, every public post is automatically sent to all servers that have a follower of that account. Threads only sends public posts from accounts that have explicitly turned on Fediverse sharing. Even then, Threads does not send posts to every server. It sends posts only to servers that follow the Threads account. Additionally, Threads does not send replies to accounts that the Threads user has blocked or muted, even if the reply is public.
Content Visibility: Private and Follower-Only Posts
Mastodon supports multiple visibility levels: public, unlisted, followers-only, and direct messages. All of these can be federated depending on the target server. Threads only has two visibility levels: public and followers-only. Threads followers-only posts never federate. If you set a Threads post to followers-only, it stays inside the Threads app. Mastodon followers of your Threads account will not see that post.
Reply Threading and Conversation Context
Mastodon uses a flat threading model where replies appear as a list of statuses under the original post. Threads uses a nested threading model where replies appear in a tree structure. When a Threads user replies to a Mastodon post, the reply appears on Mastodon as a regular reply. However, the nested context of the Threads conversation is lost. Mastodon users see only the direct reply, not the full Threads conversation tree. Conversely, when a Mastodon user replies to a Threads post, the reply may not appear in the Threads app at all if the Threads user has not enabled Fediverse sharing for that specific conversation.
Steps to Verify and Test Cross-Platform Behavior
If you want to see these differences in action, follow these steps to test federation between Threads and Mastodon.
- Enable Fediverse sharing on Threads
Open the Threads app. Go to Profile > Privacy > Fediverse sharing. Toggle the switch to On. This allows your public Threads posts to be shared with Mastodon and other ActivityPub servers. - Find your Threads ActivityPub address
After enabling Fediverse sharing, go to Profile > Privacy > Fediverse sharing. Tap the link labeled View your fediverse profile. Copy the URL shown. It will look like https://threads.net/@yourusername. - Follow your Threads account from Mastodon
Log in to your Mastodon account. In the search bar, paste the Threads profile URL from step 2. Mastodon will resolve the address and show your Threads profile. Click Follow. - Post a public Threads post
Create a new public post in Threads. Wait a few minutes. Check your Mastodon home feed. The post should appear as a status from your Threads account. Note that it will appear as a plain text post without Threads-specific features like polls or carousels. - Reply to a Mastodon post from Threads
Find a Mastodon post that appears on your Threads feed. Reply to it from Threads. On Mastodon, the reply will appear as a regular reply under the original post. The reply will not show the nested Threads conversation tree. - Check followers-only post visibility
Create a followers-only post in Threads. Check your Mastodon feed. The post will not appear. This confirms that Threads does not federate non-public posts.
Common Misconceptions and Limitations
Threads posts do not appear on Mastodon at all
If your Threads posts are not showing up on Mastodon, first confirm that Fediverse sharing is enabled in Threads settings. Then verify that your Mastodon account is actually following your Threads profile. If both are correct, wait up to 15 minutes for the federation to propagate. Some Mastodon servers also cache content, so the delay can be longer.
Mastodon replies to Threads posts are missing in Threads
Threads does not guarantee that all Mastodon replies will appear in the Threads app. This happens because Threads uses a different reply threading model. The Mastodon reply may be stored on the Mastodon server but not fetched by Threads. To see all replies, check the Mastodon post directly on Mastodon.
Boosting and favoriting do not sync
If you boost a Threads post on Mastodon, that boost does not appear in Threads. Similarly, favoriting a Mastodon post from Threads does not register as a favorite on Mastodon. Threads does not implement the ActivityPub Like or Announce (boost) actions for cross-server content. These actions only work within each platform.
Polls and carousel posts do not federate
Threads supports polls and carousel posts. When these posts federate to Mastodon, they appear as plain text posts. The poll options or carousel images are not transmitted. Mastodon users see only the text caption. This is because Mastodon does not support the same media or poll data structures that Threads uses.
Threads vs Mastodon: ActivityPub Feature Comparison
| Feature | Threads | Mastodon |
|---|---|---|
| Federation default | Off (opt-in) | On for all public posts |
| Federated content types | Text, single images, single videos | Text, images, videos, polls, custom emoji |
| Reply threading | Nested tree | Flat list |
| Cross-server following | Supported | Supported |
| Cross-server boosting | Not supported | Supported |
| Cross-server favoriting | Not supported | Supported |
| Followers-only posts federate | No | No |
| Direct messages | Not supported | Supported |
| Profile portability | Not supported | Supported |
This table summarizes the key differences. Threads provides a limited but functional ActivityPub implementation. Mastodon offers a full implementation with more features. The gap is most noticeable in cross-server interactions like boosting, favoriting, and message threading.
You can now identify why certain Threads posts do not appear on Mastodon or why replies behave differently. Use the Fediverse sharing toggle in Threads settings to control federation. If you need full cross-platform interaction, consider using Mastodon as your primary account and Threads as a secondary posting channel. For advanced testing, try replying to a Mastodon post from Threads and then checking the Mastodon conversation view to see the threading difference.