Cross-posting

How to cross-post from Mastodon to Threads

Mastodon to Threads looks frictionless on paper — both platforms allow 500 characters by default, so the text itself almost never needs cutting. The real work is structural: Mastodon’s hashtag-heavy convention collapses to a single topic tag on Threads, content warnings have no equivalent and must be rewritten into the body or dropped, and the link-character math flips the other way. What Mastodon billed at a flat 23 characters per URL is reported not to count against Threads’ limit at all — posts that felt tight on Mastodon may suddenly have room to breathe.

The deeper shift is the discovery model. Mastodon’s mostly chronological feeds mean hashtags are how readers find you; Threads runs a ranked algorithm with no hashtag feed, so reach there depends on engagement signals rather than tagging discipline. A post optimized for fediverse discovery needs a different shape to perform on Threads.

Start My Free Trial

€0.00 due today · cancel anytime · 7-day money-back guarantee

Mastodon vs Threads: the spec deltas

Everything that changes between the two composers, side by side.

MastodonThreads spec mapping. Limits last verified June 2026; platforms change these quietly, so check the composer when in doubt.
SpecMastodon (from)Threads (to)
Primary canvas1200 × 675 px · 16:9 (post image)1080 × 1350 px · 4:5 (post image)
Caption limit500 characters by default — instance admins can raise it500 characters
Video lengthInstance-dependent; default upload caps are modest, so keep clips shortUp to 5 minutes
HashtagsCount toward the limit and drive most discovery (most instances have no algorithmic feed)One topic tag per post — Threads replaced multi-hashtag culture with a single tag
Link character costEach URL billed at a flat 23 characters toward the 500-character limitLinks reported not to count against the 500-character limit
Content warningsCW text hides the post body and counts toward the 500-character limitNo equivalent feature — CW context must move into the post body or be dropped
Discovery mechanismMostly chronological timelines; hashtags are the primary discovery engineRanked algorithmic feed; one topic tag per post, no hashtag-browse feed

The good news

What transfers cleanly

  • The character budget: both Mastodon (500 characters default) and Threads (500 characters) allow the same per-post volume, so standard Mastodon posts arrive within the limit without trimming.
  • The conversational register: both platforms reward plain, direct writing over broadcast copy, so a post that lands on Mastodon rarely needs a wholesale tone rewrite for Threads.
  • Images, up to four: a Mastodon post with its maximum four images transfers cleanly — Threads accepts up to ten photos or videos in a carousel, so you can expand the set if you have extras.
  • Short video: Mastodon’s file cap is instance-dependent and modest by default, so keep clips short — any clip that fits there is well under Threads’ five-minute video limit.
  • Short, punchy hooks: Mastodon’s chronological feeds reward opening lines that stop a scroll just as much as Threads’ algorithmic feed does — the hook that worked there gives you a strong start here.

The fine print

What breaks in transit

  • Content warnings have no equivalent: on Mastodon, a CW hides the post body behind a label and its text counts toward the 500 characters — on Threads there is no such feature, so CW text either needs to be folded into the opening sentence naturally or dropped entirely.
  • Hashtag culture collapses: Mastodon relies on hashtags for discovery because most servers run chronological timelines — two or three specific tags is normal. Threads allows only one topic tag, and its algorithmic feed has no hashtag-browsing experience, so a tag-heavy Mastodon post reads as noise on arrival.
  • Links cost differently: Mastodon bills every URL at a flat 23 characters, so a tight Mastodon post with two links spent 46 of its 500 characters on URLs alone. On Threads, links are reported not to count — the same post may have more room than you expect.
  • Reply threads and boosts don’t travel: Mastodon reply chains and boost networks exist only on the fediverse. On Threads you start fresh with zero engagement history, so a post that rode momentum on Mastodon lands cold.
  • @mentions point to different accounts: a Mastodon handle (@[email protected]) has no equivalent profile on Threads, and including a fediverse handle in a Threads post confuses readers who may try to search for it.

Step by step: by hand vs with SocialKit

The manual way

  1. Copy the post body and strip the content warning: if the CW text was providing necessary context, move a condensed version of it into the opening sentence of the post; if it was a courtesy label (spoilers, minor topics), drop it.
  2. Recount the characters with Threads’ rules in mind: URLs are reported not to count, so a post that was near the Mastodon limit may be shorter on Threads than you think — you may have room to improve the copy.
  3. Cut the hashtag stack to one: scan your Mastodon tags and pick the single topic tag that best describes the post. Drop the rest — Threads’ algorithm rewards engagement signals, not tag volume.
  4. Replace @[email protected] mentions with the person’s Threads handle if they have one, or rephrase to remove the mention entirely.
  5. Re-upload images from your original exports rather than screenshots of the Mastodon post — native uploads perform better than recycled UI captures.
  6. Publish at a Threads-appropriate time: unlike Mastodon’s chronological feed, Threads’ ranked algorithm keeps distributing posts for hours after publication, so exact timing matters less — but early engagement still seeds the algorithm.

With SocialKit — compose once, customize per network

  1. Compose once: write the post in SocialKit’s composer and select both Mastodon and Threads as destinations.
  2. Customize the Threads variant on the same screen: drop extra hashtags down to one topic tag, reframe or remove CW text, and adjust any fediverse-specific mentions — without re-uploading images.
  3. Schedule each platform into its own best slot: Mastodon’s chronological feed rewards timing to your instance’s active hours, while Threads distributes algorithmically throughout the day.
  4. Let SocialKit publish both natively, then compare per-post results in its analytics to see where the conversation earns more reach.
Start My Free Trial

€0.00 due today · cancel anytime · 7-day money-back guarantee

Pro tips

Tip 1

Turn CW text into a hook: if your Mastodon post had a content warning like "politics / long" the most useful edit is to open the Threads post with a single framing sentence — it replaces the CW’s orienting function and gives the algorithm a strong first line.

Tip 2

Don’t chase Mastodon reach signals on Threads: boosts and fediverse-timeline pickups don’t translate. Judge the Threads version by Threads metrics — replies, reposts, and profile clicks — not by how the Mastodon post performed.

Tip 3

Use the extra character headroom: if your links were eating 23 characters each on Mastodon, you may have 20–40 characters of headroom on Threads. Use them to sharpen the copy rather than leaving the post shorter than it needs to be.

FAQ

Mastodon → Threads questions

Start My Free Trial

€0.00 due today · cancel anytime · 7-day money-back guarantee

Do Mastodon and Threads have the same character limit?

Both platforms default to 500 characters, but they count differently. Mastodon bills every link at a flat 23 characters regardless of URL length, and content-warning text also counts toward the 500. Threads is reported not to count links against its limit — so the same post can feel tighter or looser depending on how many URLs and CW characters Mastodon was spending.

What happens to my content warnings when I cross-post to Threads?

Threads has no content-warning feature. If your Mastodon CW was providing genuine context (topic, length, sensitive content), fold a short version of that framing into the opening sentence of the Threads post. If it was a minor courtesy label, you can drop it — Threads readers don’t expect them.

How many hashtags should I use on Threads?

One topic tag per post — that is both Threads’ limit and its convention. Mastodon hashtags drive discovery because most servers have no algorithmic feed; on Threads the algorithm surfaces posts based on engagement signals, so a tag-heavy post from Mastodon reads as noise rather than improving reach.

Can Mastodon users already see my Threads posts without me doing anything?

They can if you have enabled Threads’ opt-in fediverse-sharing setting, which federates your public Threads posts to Mastodon over ActivityPub — Mastodon users can then follow your Threads account from their instance. Cross-posting in this guide means running a separate native Mastodon account; availability and behavior of federation features may vary as of June 2026.

Post to Mastodon and Threads in one go

Compose once, customize the caption per network, and let SocialKit publish to Mastodon, Threads, and 9 more platforms on schedule — no re-uploading, no copy-paste.

Start My Free Trial

€0.00 due today · cancel anytime · 7-day money-back guarantee