Free tool · no sign-up

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.

Characters
0
Without spaces
0
Words
0
Sentences
0
Paragraphs
0
Reading time
0 sec

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.

See auto-crossposting

7-day free trial · No credit card

Why the numbers differ

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.

Reference

Social media character limits

Every limit below was checked against the platform’s own documentation on August 10, 2026.

Character limits per platform, with how each one counts
PlatformLimitHow it counts
X (Twitter)28025,000 on Premium
  • Every link is shortened to a t.co address and counts as exactly 23 characters, however long the real URL is — including a domain typed without https://.
  • Latin, Cyrillic, Greek, Hebrew and Arabic characters count as 1. Emoji, CJK, Hangul, Hiragana, Katakana and most symbols count as 2.
  • A multi-part emoji — a flag, a skin tone, a family — counts as 2 in total, not 2 per piece.
  • Text is normalised (NFC) before counting, so an accented letter typed as two code points still counts as 1.
  • @mentions and #hashtags count in full. Replies no longer count the handles you are replying to.
  • X Premium raises the ceiling to 25,000 characters for long posts.
X developer docs — Counting characters
Bluesky300
  • Bluesky counts graphemes, the characters a reader perceives, so an emoji or a flag counts as 1 and not as 2 UTF-16 units.
  • The AT Protocol record enforces a second cap: 3,000 UTF-8 bytes. Only very heavy emoji or non-Latin text reaches it before 300 graphemes.
  • Links count in full — there is no link shortener — but they can be attached as facets so the visible text stays short.
  • Handles in a mention count in full, including the domain.
AT Protocol lexicon — app.bsky.feed.post
Threads500
  • Threads counts every character in the post, links included — there is no shortening and no discount.
  • Attaching a link does not change the count; the preview card is generated on top of the text.
  • Longer thoughts are posted as a chain of replies, each with its own 500-character budget.
Meta developer docs — Threads media
Mastodon500per instance
  • 500 characters is the default, but every instance sets its own limit — some allow 5,000 or more. Check your instance's about page.
  • Links count as 23 characters regardless of length, the same rule X uses.
  • For a remote mention only the username counts: @user@example.social costs the same as @user.
  • Content warnings are counted separately from the body of the post.
Mastodon docs — instance configuration
LinkedIn3,000
  • A LinkedIn post allows 3,000 characters, links and hashtags included.
  • The feed shows roughly 210 characters before the “…see more” fold, so the hook has to land in the first two lines.
  • Comments have their own 1,250-character limit, and article bodies allow up to 110,000.
LinkedIn Help — posting on LinkedIn
Instagram caption2,200
  • A caption allows 2,200 characters; anything beyond it is rejected, not truncated.
  • Only about 125 characters show before “more”, so front-load the message.
  • A maximum of 30 hashtags is allowed per post, and hashtags count towards the 2,200 characters.
  • Line breaks count as characters and are preserved in the caption.
Meta developer docs — content publishing
Questions

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.