---
title: "Post Length Counter for X, Threads, Bluesky | Comet Chatter"
description: "Paste a post and see its length on X, Threads, Bluesky, Mastodon, LinkedIn, Instagram and YouTube, each counted by that platform's own rules."
url: https://cometchatter.buzz/
---

# Social post length counter

Write once, check everywhere. X weighs emoji and links, Threads counts emoji in bytes, Bluesky counts what you see. Type or paste your post and every platform's meter moves as you go.

## How each platform counts

A “character” means something different on every platform, which is why one counter number is never enough. These are the limits and rules this page uses, as of October 2026.

| Platform | Limit | How it is counted |
| --- | --- | --- |
| X post | 280 | Weighted: most Latin letters count 1, CJK characters and emoji 2, every link 23. Longer posts need an X Premium subscription; 280 is the standard limit. |
| Threads post | 500 | Characters as you see them, but each emoji counts its UTF-8 bytes (4 or more). Links: at most 5. Topic tags: at most 1. Only one topic tag is used per post. |
| Bluesky post | 300 | Characters as you see them (graphemes); the app shortens long links before counting. |
| Mastodon post | 500 | Characters as you see them; every link counts 23 and @name@server counts only @name. 500 is the default; each server can set its own limit. |
| LinkedIn post | 3,000 | Counted cautiously in UTF-16 code units: most emoji count 2. |
| Instagram caption | 2,200 | Counted cautiously in UTF-16 code units: most emoji count 2. Hashtags: at most 5. @ mentions: at most 20. Instagram cut hashtags from 30 to 5 per post or reel from December 2025. |
| YouTube video title | 100 | Counted cautiously in UTF-16 code units; one line, no angle brackets. Titles are one line and YouTube refuses the characters < and >. |

### X: weighted characters

X counts with the rules in its open-source twitter-text library. Most Latin-script letters, digits and common punctuation weigh 1. Chinese, Japanese and Korean characters weigh 2, and every emoji weighs 2 however many code points it is built from, so a family emoji costs the same as a smiley. Any link counts as 23, because X wraps it in its t.co short link. Text is normalised first, so an accented letter typed as two code points still counts once. One surprise: the single ellipsis character (…) weighs 2, while three full stops weigh 3.

### Threads: emoji cost bytes

Threads allows 500 characters, but Meta's developer documentation says emoji are counted by their UTF-8 size. A plain smiley costs 4, a thumbs-up with a skin tone 8, and a four-person family 25. A post may hold at most 5 links and only one topic tag.

### Bluesky: what you see, with short links

Bluesky allows 300 graphemes, the characters as you see them on screen. The app shortens a long link to its domain and the first 13 characters of its path followed by “...”, and counts that shorter form, so a long link costs far less than its full length.

### Mastodon: 500 by default

Mastodon servers allow 500 characters unless the admins chose otherwise, so set your server's limit above. Links always count 23, and a mention of someone on another server, like @maya@example.social, counts only the @maya part. A content warning counts towards the same limit.

### LinkedIn, Instagram and YouTube

These publish a limit but not a counting rule for emoji, so we count cautiously, the way a browser form does: most emoji count 2 and everything else 1. If the meter says it fits, it fits. Instagram also caps hashtags at 5 per post since December 2025 and @ mentions at 20, and YouTube titles are one line with no angle brackets.

## Sources

- **X:** [X developer docs: Counting characters](https://docs.x.com/fundamentals/counting-characters); [twitter-text, the open-source library that implements those rules](https://github.com/twitter/twitter-text)
- **Threads:** [Meta Threads API docs: Posts (500 characters, emoji as UTF-8 bytes, at most 5 links, one topic tag)](https://developers.facebook.com/documentation/threads/posts)
- **Bluesky:** [Bluesky app source: MAX_GRAPHEME_LENGTH = 300](https://github.com/bluesky-social/social-app/blob/main/src/lib/constants.ts); [Bluesky app source: how links are shortened (toShortUrl)](https://github.com/bluesky-social/social-app/blob/main/src/lib/strings/url-helpers.ts)
- **Mastodon:** [Mastodon docs: Posting toots (500 by default, links count 23, remote mentions count the username only)](https://docs.joinmastodon.org/user/posting/)
- **LinkedIn:** [LinkedIn Help: posts can contain up to 3,000 characters](https://www.linkedin.com/help/linkedin/answer/a528176)
- **Instagram:** [Instagram Platform docs: caption up to 2,200 characters and 20 @ tags](https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-user/media); [Social Samosa: Instagram limits hashtags to five per post (December 2025)](https://www.socialsamosa.com/news-2/instagram-hashtags-five-per-post-10923075)
- **YouTube:** [YouTube Help: titles up to 100 characters, descriptions up to 5,000](https://support.google.com/youtube/answer/57404)

## More tools for posting

Split, style, tag and space your posts before they go out.

- [Thread splitter](https://cometchatter.buzz/thread-splitter/): Long text to numbered posts that fit X, Threads, Bluesky or Mastodon.
- [Bold & italic text](https://cometchatter.buzz/unicode-bold-italic-text/): Unicode styles for bios and posts, with an honest accessibility warning.
- [Hashtag formatter](https://cometchatter.buzz/hashtag-formatter/): Clean, de-duplicate and CamelCase hashtags so screen readers say them right.
- [Instagram line breaks](https://cometchatter.buzz/instagram-line-breaks/): Keep blank lines and spacing in captions instead of one squashed block.

## Recommended

Two free services that help with the parts of posting that happen off the post.

Website audit · disposable cloud browser

### WebTraceCheck

About to share a link? WebTraceCheck's free website audit lists a page's Open Graph fields and Twitter card metadata, so you can see the title, description and image a link preview will pull before your followers do. Its disposable cloud browser opens unfamiliar links from replies and DMs on an isolated desktop that is deleted after each session.

Nothing to install, with free time every day.

[Check a link with WebTraceCheck](https://webtracecheck.com/)

Temporary email · no sign-up

### CleanTempMail

Trying a new scheduling app, entering a brand's giveaway or downloading a creator's free template often means handing over an email address. CleanTempMail gives you a free temporary inbox straight away, with a random or custom address on hundreds of domains, and deletes messages automatically after 3 days.

Keep your real inbox for the people you follow back.

[Open a temporary inbox](https://cleantempmail.com/)

## Questions

**Why does X show a different number from a normal character counter?**

X does not count characters one by one. Links always cost 23, emoji and Chinese, Japanese or Korean characters cost 2, and most Latin text costs 1. A plain counter that says 250 can be well over 280 on X if the post has emoji, or well under it if it has long links.

**Why do emoji use up so much of a Threads post?**

Meta's documentation says Threads counts an emoji by its size in UTF-8 bytes. A simple emoji is 4 bytes, and emoji built from several pieces, like skin tones, flags or families, are 8 to 25 or more. Ten family emoji alone would use half of a 500-character post.

**What does the highlight in the text box mean?**

It marks the text that falls past the limit of the platform you pick under the box, counted by that platform's rules. Everything before the highlight fits. Pick another platform to see where its limit falls.

**Is my post sent anywhere?**

No. The counting happens in your browser and nothing you type is uploaded. Your draft is kept in this browser's local storage so it survives a reload; the Clear button removes it.

**How up to date are the limits?**

They were checked against each platform's own documentation in October 2026, and the sources are listed on this page. Platforms do change their limits, as Instagram did with hashtags in December 2025, so if a number looks wrong, the platform's help pages have the final word.
