Bluesky to X looks like the easiest hop in the text cluster — both are short-post networks built on the same reply-quote-repost grammar — but the two count differently, and the 20 characters between Bluesky’s 300 and X’s 280 fall exactly where good posts end. Add X’s flat 23-character link tax and its habit of counting many emoji as two, and a draft that fits Bluesky cleanly can bounce off X’s composer.
This guide maps the counting rules side by side, the image and video deltas that actually bite, and the cleanest way to publish to both — by hand, or composed once in SocialKit with each network’s limit checked as you write.
€0.00 due today · cancel anytime · 7-day money-back guarantee
Everything that changes between the two composers, side by side.
| Spec | Bluesky (from) | X (Twitter) (to) |
|---|---|---|
| Primary canvas | 1200 × 675 px · 16:9 (post image) | 1600 × 900 px · 16:9 (post image) |
| Caption limit | 300 graphemes (visual characters — emoji count once) | 280 characters (X Premium subscribers can post up to 25,000) |
| Video length | Short clips — Bluesky has been raising limits (around 3 minutes as of early 2026) | About 2 minutes 20 seconds for standard accounts; longer uploads are a Premium feature |
| Hashtags | Plain-text hashtags count toward the 300-grapheme limit | Count toward the character limit; one or two is the platform norm |
| Counting model | 300 graphemes — complex emoji count once; 3,000-byte ceiling | 280 characters free — many emoji count as two, links a flat 23 |
| Long-form escape hatch | Native threads — each reply gets its own 300 | Threads, or X Premium posts up to 25,000 characters |
| Image file size | Compressed to ~1 MB (976.56 KB) per image | Photos up to 5 MB; multi-image grids crop toward squares |
The good news
The fine print
€0.00 due today · cancel anytime · 7-day money-back guarantee
Tip 1
Draft the X version first: 280 minus a 23-character link is the tightest box in this pair, and expanding a tight draft for Bluesky is painless — shrinking a loose one rarely improves it.
Tip 2
If the idea won’t fit, thread it on both: each post in an X thread gets its own 280 and each Bluesky reply its own 300, and on both networks the first post does all the selling.
Tip 3
Mind X’s multi-image grid: two to four images get center-cropped toward squares and wide tiles, and Bluesky’s grid crops differently again — center your subjects so one set of files survives both layouts.
FAQ
€0.00 due today · cancel anytime · 7-day money-back guarantee
Not on a free account — X’s limit is 280 characters, and over-limit posts are rejected outright rather than truncated. X Premium subscribers can post up to 25,000 characters (as of June 2026), though the timeline still collapses long posts behind a “Show more” link.
No. X wraps every URL in t.co and charges a flat 23 characters regardless of length. On Bluesky the URL counts as the text you type, though the official app offers to remove the URL text once a link card is attached. The same link post can pass one composer and fail the other.
There’s no native bridge — Bluesky runs on the AT Protocol and X doesn’t federate with anything. Third-party mirroring scripts exist, but X’s API pricing changes have made them rare and fragile. A scheduler that composes once and publishes natively to both is the dependable route.
Both allow up to four images per post. X accepts photos up to 5 MB and alt text up to 1,000 characters; Bluesky compresses each image to roughly 1 MB (976.56 KB). Upload from your original files on each platform rather than re-downloading from either.
Compose once, customize the caption per network, and let SocialKit publish to Bluesky, X (Twitter), and 9 more platforms on schedule — no re-uploading, no copy-paste.
€0.00 due today · cancel anytime · 7-day money-back guarantee