๐Ÿฆ‹
Bluesky Counter

Bluesky vs Twitter (X) Character Limits Explained

By DEVBUILDTOOLโ€ข

For years, 280 characters was the golden rule of microblogging. But with the rise of decentralized networks, the rules have changed. When comparing Bluesky vs Twitter, the most immediate difference users notice is the character limit: 300 vs 280. But the differences run much deeper than those 20 extra characters.

1. The Numbers: 300 vs 280

At a surface level, Bluesky gives you 300 characters, while Twitter (for free users) gives you 280. (Twitter Premium users get 10,000, but we are comparing the free tiers here).

However, Bluesky counts graphemes, not raw characters. A grapheme is a visual unit of text. A complex emoji that takes up 11 code units in JavaScript counts as just 1 grapheme on Bluesky. On Twitter, that same emoji might count as 2 or more characters depending on how their backend processes it. For emoji-heavy posters, Bluesky is significantly more generous.

2. The URL Problem

This is where Twitter wins the Bluesky vs Twitter formatting battle. Twitter employs a universal URL wrapper called t.co. No matter how long your link is, Twitter compresses it to exactly 23 characters.

Bluesky uses the AT Protocol, which stores links as "rich-text facets." Because Bluesky doesn't wrap links, the full length of the URL counts against your 300 grapheme limit. A 100-character URL on Twitter leaves you with 257 characters for text. On Bluesky, that same URL leaves you with only 200.

3. Mention Formatting

When you tag someone on Twitter, you type @username. On Bluesky, handles are tied to domain names (a core feature of the AT Protocol). A mention looks like @username.bsky.social or a custom domain like @devbuildtool.com.

Because Bluesky mentions include the domain, they naturally consume more characters than Twitter mentions. You must account for this when cross-posting.

How to Cross-Post Successfully

If your goal is to write a single draft that works on both platforms, follow these rules:

  • Write to Twitter's limit: Keep the text under 280 characters.
  • Use short URLs: Because Bluesky counts the full URL, shorten it manually so it doesn't break the Bluesky limit.
  • Format mentions manually: You will have to edit the @mentions per platform before hitting send.

To make this easier, you can use our Twitter vs Bluesky Comparison Tool to validate your drafts against both platforms simultaneously.