Social media character limits
The post limits for Threads, X, Bluesky, Mastodon and LinkedIn: what counts as a character, what a link costs and the caps besides length, each with its source and the day we checked it.
Runs in your browser. Your text and images never leave it.
Updated
| Network | Limit | Each link counts | Other caps | Easy to get wrong | Source |
|---|---|---|---|---|---|
| Threads | 500UTF-16 code units | As typed, with no shortening. |
|
| Checked |
| X | 280Weighted characters | 23 each, however long. A bare domain like example.com is a link too. |
|
|
Checked |
| Bluesky | 300Characters as you see them (graphemes) | Shortened before counting: the domain, then a path over 15 characters keeps its first 13 and gains "...". |
|
|
Checked |
| Mastodon | 500Characters as you see them (graphemes) | 23 each, however long, when it starts with http:// or https://. A bare domain is plain text. |
|
|
Checked |
| 3,000UTF-16 code units | As typed, with no shortening. |
|
| Checked |
Three ways to count a character
The limits only compare once you know what each one counts.
- Characters as you see them (graphemes), on Bluesky and Mastodon. An emoji, a flag or an accented letter is 1.
- UTF-16 code units, on Threads and LinkedIn. Most emoji are 2, a flag 4 and a family emoji 11.
- Weighted characters, on X. Most letters weigh 1, CJK characters and emoji 2, and every link 23.
So 280 on X and 300 on Bluesky aren't as close as they look for a post full of emoji, and 500 on Threads is a little less than it sounds.
Check a post against all of them
Do I need to remember these limits when I use Shaflex?
No. Shaflex keeps track of them for you: one draft becomes a copy for each of Threads, X, Bluesky, Mastodon and LinkedIn, sized to that network's limit, split into a thread where it runs long and checked against its media rules before it's scheduled.
See how Shaflex schedules for Threads, X, Bluesky, Mastodon and LinkedIn, how one draft goes to every network, and what the free plan includes.
Where these rules come from
Each one is from the network's own documentation, help pages or source code. We last checked them on .
- Threads API docs: Posts (500 characters, emoji, 5 links, topic tags)
- X developer docs: Counting characters
- twitter-text config v3: character weights and link length
- X Help Center: X Premium, longer posts
- AT Protocol lexicon app.bsky.feed.post: 300 graphemes, 3,000 bytes
- Bluesky app source: toShortUrl
- Bluesky app source: shortenLinks
- Mastodon source: StatusLengthValidator
- Mastodon API docs: GET /api/v2/instance
- Mastodon source: the instance configuration it publishes
- LinkedIn Help: Post and share updates (3,000 characters)
More free tools
Each one runs in your browser too.
- Text tool
Character counter
Count one draft for Threads, X, Bluesky, Mastodon and LinkedIn at once, and cut it to fit.
Open it - Text tool
Thread maker
Turn long text into a thread for X, Threads, Bluesky or Mastodon, split where paragraphs and sentences end, with links kept whole.
Open it - Text tool
Invisible character remover
Find the zero-width spaces, stray joiners and styled letters hiding in a draft, see where each one sits and what it costs on each network, and take them out without breaking an emoji.
Open it
Character limit questions
What are the character limits on each social network?
Threads 500, X 280 (25,000 with Premium), Bluesky 300, Mastodon 500 by default, and LinkedIn 3,000. They count different things, so the table says what each one counts.
Which social network allows the longest posts?
LinkedIn, at 3,000, unless you count X Premium at 25,000 or a Mastodon server that sets its own, higher limit.
Do links count toward character limits?
Everywhere, but differently: 23 on X and Mastodon however long, shortened first in the Bluesky app, and every character on Threads and LinkedIn.
How up to date are these limits?
We last checked them on Oct 19, 2026, against each network's own documentation, help pages or source code. Each row links its sources.
Why does Mastodon's limit depend on the server?
Mastodon is run by many independent servers, and each sets its own limit. 500 is the default; the Mastodon counter reads your server's real one.
One draft, a copy for every network.
Write the post once in Shaflex, adjust the copy each network gets, and schedule them all together.
Free plan, no card needed.



