Character counter for X, Bluesky,
Threads & Mastodon
Type once and watch every platform’s limit at the same time — counted the way each network really counts, links, emoji and mentions included.
Encoding detail: 0 code points · 0 UTF-16 units · 0 UTF-8 bytes. Characters above are counted as graphemes — what a reader sees — so an emoji counts once, even though it is several code points.
Writing for four platforms at once?
MicroPoster reformats automatically. Post once on the platform you like, and it splits long text into native threads, fixes links and mentions, and publishes to X, Threads, Bluesky and Mastodon on its own.
7-day free trial · No credit card
Every platform counts differently
A post that fits on Bluesky can be over the limit on X, and a 280-character draft full of links may still fit. These are the rules this counter applies.
Links cost 23 on X and Mastodon
Both platforms rewrite links before counting: a 200-character tracking URL and a 12-character short link cost exactly the same, and on X a bare domain counts as a link too. Bluesky, Threads, LinkedIn and Instagram count the whole thing.
Emoji and CJK cost double on X
X weighs each character. A post of 280 Japanese, Chinese or Korean characters is 560 on X's own scale — half a post over the limit, which is why so many counters get it wrong.
Bluesky counts what you see
Bluesky counts graphemes, so a family emoji or a flag is one character, not the eleven UTF-16 units your keyboard produced.
Mastodon mentions drop the domain
Replying across instances is cheap: @user@example.social is counted as @user, so the domain never eats into your 500 characters.
Social media character limits
Every limit below was checked against the platform’s own documentation on August 10, 2026.
| Platform | Limit | How it counts |
|---|---|---|
| X (Twitter) | 28025,000 on Premium |
|
| Bluesky | 300 |
|
| Threads | 500 |
|
| Mastodon | 500per instance |
|
| 3,000 |
| |
| Instagram caption | 2,200 |
|
Character counting, explained
How does X count characters?
X gives every character a weight. Latin, Cyrillic, Greek, Hebrew and Arabic characters weigh 1; emoji, CJK, Hangul, Japanese and most symbols weigh 2. Every link is replaced with a t.co address and always costs exactly 23 characters — even a domain typed without https://. So a 280-character post of English text fits, but 280 Japanese characters is double the limit. This counter applies those exact rules.
Why do other counters give me a different number for emoji?
Most counters use JavaScript's string length, which counts UTF-16 code units: a single 👨👩👧👦 comes out as 11. Bluesky counts graphemes, so it is 1. X counts it as one emoji weighing 2. We show all three — the grapheme count in the stats, the platform count in each row, and the raw code point, UTF-16 and UTF-8 numbers underneath.
What is the character limit on Bluesky?
300 graphemes per post. The AT Protocol record enforces a second cap of 3,000 UTF-8 bytes, which only heavy emoji or non-Latin scripts reach before 300 graphemes. Links count in full, so a long URL eats into the budget.
What is the character limit on Mastodon?
500 characters on mastodon.social, but each instance sets its own — some allow 5,000 or more. Mastodon counts links as 23 characters, and for a remote mention only the username counts, so @user@example.social costs the same as @user. Set your instance's limit in the Mastodon row to count against the right number.
What is the character limit on Threads?
500 characters per post, links included — there is no shortening and no discount. Longer pieces are published as a chain of replies, each with its own 500-character budget.
How many characters can an X Premium post have?
25,000 characters for long posts on a Premium subscription, against 280 on a free account. Toggle “X Premium” in the X row to count against the higher limit.
Is this character counter free?
Yes. No sign-up, no limits, nothing stored — the counting runs entirely in your browser, so your draft never leaves your device. You can share a draft with the copy-link button, which puts the text in the URL.
Need the long version? How long can a tweet be? · Auto-crosspost to every platform