How to do it
- Paste the post once Write the longest version you would publish.
- Read each network's count Each column uses that network's counting rule and limit.
- Trim or split where it fails Shorten the post for the strict networks, or mark it to go out as a thread.
- Save one variant per network if needed The best cross-posts are adapted, not copied.
Character limits by network
| Network | Limit | How it counts |
|---|---|---|
| X | 280 (25,000 with Premium) | Weighted: links 23, emoji and CJK 2 |
| 3,000 | Characters, links at full length | |
| Bluesky | 300 | Graphemes, links at full length |
| Mastodon | 500 by default | Characters, any link counts as 23; instances can raise the limit |
| Threads | 500 | Characters; links count |
| Instagram caption | 2,200 | Characters |
| Facebook post | 63,206 | Characters |
The same 290-character post passes on LinkedIn, Mastodon, and Threads, can fail on X if it has two emoji, and passes on Bluesky only if its links are short.
Why one post rarely fits everywhere
The strict networks set the ceiling. A post written for LinkedIn at 1,200 characters needs a rewrite for X and Bluesky, not a cut. The usual patterns:
- Write for the shortest limit, then expand. A 250-character core works on X and Bluesky, and LinkedIn gets two extra paragraphs.
- Thread the long version. X, Bluesky, Mastodon, and Threads support reply chains. LinkedIn does not.
- Move links to a reply on networks where links count at full length.
Cross-posting without losing the tone
Each network has its own manners. Hashtags help on LinkedIn and Mastodon, matter less on Bluesky, and look spammy in bulk on X. A mention on one network is not a mention on another. The cross-posting glossary entry and the content repurposing use case go into this.
How SocialHandoff handles cross-network drafts
When an agent drafts one post for several networks in SocialHandoff, each target is checked against its own limit and counting rule before the draft reaches your inbox. X uses the weighted 280 count, Bluesky counts 300 graphemes, Mastodon uses 500 by default, and a thread aimed at LinkedIn is joined into one post. You approve each network's version. Threads gets 500 characters, and an Instagram caption gets 2,200 with a thread joined into one caption. Facebook and TikTok are supported too; YouTube and Pinterest are not supported yet. Read how to schedule LinkedIn, X, and Bluesky posts or the Mastodon scheduling guide.