How to Cross-Post Threads to Bluesky

How to Cross-Post Threads to Bluesky

Both are short-text networks with similar rhythms, but 500 characters does not fit in 300. Here is how to publish to both without truncation.

Threads and Bluesky occupy similar ground: short text, conversational, threading supported, similar posting rhythms. Plenty of people ended up on both without deciding to.

The one real friction is the character gap.

500 does not fit in 300

PlatformLimitImagesVideo
Threads50020500 MB
Bluesky3004100 MB, 60s

A post written to Threads’ 500 characters gets cut on Bluesky. Not adapted, cut, and truncation lands mid-sentence.

Two ways to handle it.

Write to 300. One draft works on both, plus X at 280 if you trim slightly further. Simplest, at the cost of being terser than Threads needs.

Write both. The Threads version uses the room, the Bluesky version is the compressed one. Better, and takes a minute in a composer that shows both counts.

What doesn’t work is writing to 500 and hoping. That’s how a truncated post ends up on Bluesky with an ellipsis where the point was.

Alt text is not optional on Bluesky

Bluesky’s community takes image descriptions seriously, and the protocol sets no length limit on alt text, so there’s no practical reason to skip it.

Cross-posting an image without alt text is noticed there. It’s a norm rather than a rule, but it’s a real one and it’s cheap to respect.

Images: 20 versus 4

Threads takes up to 20 images per post, Bluesky up to 4. If you’re posting an image set, that’s a genuine difference rather than a rounding error.

Either keep sets to 4 so they work on both, or accept that larger sets are a Threads-only post.

Mirroring versus being present

Same question as any two overlapping networks, and the answer matters more on Bluesky, where an account that only ever broadcasts gets noticed.

The workable version is cross-posting the substance and participating natively on each: replies and conversations belong to the platform they happen on. A pure mirror with nobody answering is followed less on both.

What shouldn’t cross-post

Replies. A post that only makes sense as a response to something on one platform is meaningless on the other.

Mentions. Handles differ between the two, and an @name copied across usually points at nobody. Map it or use the plain name.

The workflow

  1. Write the Threads version, up to 500
  2. Compress it to 300 for Bluesky, or write to 300 once
  3. Keep image sets to 4 if the post is going to both
  4. Add alt text
  5. Select both, fix mentions, and queue it

Character counts are enforced per platform as you type, so the Threads version can use its room without the Bluesky one being truncated.

Add X and Mastodon

The same draft group covers X (280) and Mastodon (500). Writing to 280 gives you one version that publishes to all four unchanged.

BulkPublish publishes to all four, plus 11 other networks.

  • Channels: Free: 3 (1 per platform). Pro: 30 (2 per platform). Business: 75 (5 per platform).
  • Posts: Free: 3/day. Pro: 30/day. Business: unlimited.

The short version

The gap is 500 versus 300, so either write to 300 once or write both versions, but never write to 500 and let Bluesky cut it. Keep image sets to 4, always write alt text, don’t cross-post replies, and participate natively on both rather than mirroring.