Threads and Bluesky character limits, explained
Two of X's biggest alternatives, and two very different ways of counting a character.
Updated October 2026
As more of the conversation that used to happen on X has split across alternatives, Threads and Bluesky have become platforms worth writing for in their own right, not just as a backup. Both give you noticeably more room than X's 280 characters — but they don't count a "character" the same way as each other, or as most other platforms.
Threads: 500 characters, straightforward counting
| Field | Limit |
|---|---|
| Post | 500 characters |
| Reply / comment | 500 characters |
| Bio | 150 characters |
| Alt text (images) | 1,000 characters |
| Images per post | 10 |
| Video length | 5 minutes |
Threads counts characters the ordinary way — the same approach as Instagram's caption field, which makes sense given Threads is built by Meta alongside Instagram. There's no special emoji math to think about here: a standard count covers it.
Bluesky: 300 characters, but counted differently
| Field | Limit |
|---|---|
| Post | 300 graphemes |
| Bio | 256 characters |
| Display name | 64 characters |
| Images per post | 4 (up to 1 MB each) |
| Video | Up to 180 seconds, 50 MB |
Bluesky's post limit is 300 — but the unit it counts is a grapheme, not a raw character. A grapheme is roughly "what a person perceives as one visual character," which isn't always the same as what a computer stores as one character behind the scenes. On top of the grapheme limit, Bluesky's underlying protocol also caps a post at 3,000 bytes of raw text — in practice the grapheme limit is almost always what you hit first.
Why this makes emoji count differently
A complex emoji — say, a family emoji built by joining several individual emoji together, or one with a skin-tone modifier — is actually made of multiple Unicode code points stitched together behind the scenes. Many platforms' character counters tally those code points individually, which can make a single emoji quietly eat 2, 4, or more characters off your limit. Bluesky's grapheme-based counting treats that same emoji as exactly one unit, matching what a person actually sees on screen, rather than what's technically stored underneath it.
The practical effect: an emoji-heavy post on Bluesky uses up noticeably less of your 300-character budget than the same post would on a platform that counts raw characters or bytes instead of graphemes.
Frequently asked questions
How many characters can a Threads post be?
500 characters, the same limit that applies to replies and comments on Threads.
How many characters can a Bluesky post be?
300 graphemes — visually perceived characters — not a simple count of raw Unicode characters or bytes, which changes how emoji and accented letters are counted.
Does an emoji count as one character on Bluesky?
Yes, in almost all cases. Bluesky counts graphemes, so even a complex emoji built from several Unicode code points — like a family emoji with a joined skin tone — still counts as a single unit toward the 300-grapheme limit.
What is the Threads bio character limit?
150 characters, the same limit Instagram uses for its bio field.
Check your post length live as you write using CounterWord's counter, or run a longer draft through the Organic Writing Checker before splitting it between platforms with very different limits.