Bluesky 字数限制与发帖技巧

7 分钟阅读

Bluesky is a social network built on the AT Protocol, a decentralized framework. Launched to the public in February 2024, it originated from a project by Twitter co-founder Jack Dorsey. The post character limit is 300 characters, but the way Bluesky counts those "300 characters" is fundamentally different from other social platforms. This article dives into the AT Protocol's technical specifications and covers effective posting strategies.

Grapheme Cluster Counting - Bluesky's Unique Character Calculation

Bluesky counts characters using "grapheme clusters," the smallest unit of text that a human perceives as a single character, as defined by Unicode Standard Annex #29 (UAX #29). This approach differs fundamentally from how X and Threads count characters. For a deeper understanding of how text encoding affects character counting, consider exploring books on Unicode and text processing.

Consider the skin-tone emoji "👋🏽." Internally, it consists of two Unicode code points: U+1F44B (waving hand) and U+1F3FD (skin tone modifier). X counts this as 2 characters, but Bluesky counts it as 1 grapheme cluster. Similarly, the flag emoji "🇯🇵" is composed of two Regional Indicator code points (U+1F1EF + U+1F1F5), yet Bluesky counts it as a single character.

This becomes even more significant with complex emoji. The family emoji "👨‍👩‍👧‍👦" consists of 7 code points (4 emoji + 3 ZWJ connectors), but Bluesky counts it as just 1 character. X counts the same emoji as 7–11 characters, meaning emoji-heavy posts can fit substantially more information on Bluesky.

Bluesky Character Limits

ElementCharacter LimitCounting MethodNotes
Post300 charactersGrapheme clustersLink card URLs don't count
Display Name64 charactersGrapheme clustersShown on profile
Bio256 charactersGrapheme clustersProfile description
Reply300 charactersGrapheme clustersSame as posts
Handle253 charactersByte countFollows DNS domain name constraints
List Name64 charactersGrapheme clustersCustom feeds and lists
List Description300 charactersGrapheme clustersList description text
ALT Text10,000 charactersGrapheme clustersFor accessibility

Note that the handle is the only field counted by byte length. This is because handles function as DNS domain names and must comply with the RFC 1035 domain name length limit (253 bytes). The generous 10,000-character ALT text limit reflects a strong commitment to accessibility, allowing detailed image descriptions for visually impaired users.

Why 300 Characters? - AT Protocol Design Philosophy

Bluesky's 300-character limit reflects both technical constraints and user experience considerations. The AT Protocol specification imposes a size limit on individual records (posts). In a decentralized network, every server (PDS: Personal Data Server) synchronizes data, so keeping per-post data size small directly reduces network-wide load.

From a user experience perspective, the limit is designed for seamless migration from X's 280-character limit. The extra 20 characters address the "I wish I could write just a bit more" need while maintaining the brevity that defines short-form social media.

An interesting technical detail: the AT Protocol itself delegates text length limits to the application layer. This means another application built on AT Protocol could set a 500 or 1,000-character limit. The 300-character cap is a Bluesky application design decision, not a protocol constraint. A future change to this limit remains a possibility.

Facets - Bluesky's Rich Text Processing and Its Impact on Character Count

Bluesky posts use a feature called "Facets" for rich text processing. Facets attach metadata such as links, mentions (@), and hashtags to post text, and they directly affect character counting.

For links, writing a URL in the post body counts those characters against your limit. However, attaching a link card (external site preview) means the URL doesn't count toward the character limit at all. For example, "https://example.com/very-long-path/to/article" — a 50-character URL — consumes 50 characters in the body text but 0 characters as a link card. Understanding this distinction can dramatically change how many characters you have available for actual content.

Mentions (@username) count only the displayed text portion. For instance, "@alice.bsky.social" consumes 19 characters. Mentioning users with long handles can eat into your character budget significantly.

5 Tips for Effective 300-Character Posts

  1. Lead with your conclusion. The first 2–3 lines are critical. Bluesky's timeline shows only the beginning of a post, with the rest behind a "Show more" expansion, so place your key message up front.
  2. Cut unnecessary modifiers. Removing words like "very," "really," and "basically" saves 5–10 characters each. In longer phrases, replacing "is able to" with "can" saves 7 characters.
  3. Use line breaks for readability. Since mobile viewing dominates, adding blank lines every 3–4 lines improves scannability. Note that line breaks count as 1 character each, so don't overdo it.
  4. Use link cards instead of inline URLs. Attaching a link card means the URL consumes zero characters. A 50+ character URL removed from the body text frees up space for actual content.
  5. Check your character count with Character Counter before posting. Grapheme cluster counting is difficult to calculate manually, so a tool check gives you confidence.

Common Posting Mistakes and How to Avoid Them

Here are pitfalls Bluesky users frequently fall into, along with their causes and solutions.

Pro Tips

Practical techniques for getting the most out of Bluesky. For broader social media strategies, consider exploring books on social media strategy.

Comparison with Other Platforms - Mind the Counting Differences

PlatformCharacter LimitCounting MethodURL Handling
Bluesky300 charactersGrapheme clustersLink cards: 0 characters
X (Twitter)280 (Premium: 25,000)NFC-normalized code pointsURLs: fixed 23 chars (t.co shortening)
Threads500 charactersUnicode code pointsURLs count toward limit
Mastodon500 characters (varies by server)Server implementation dependentURLs: fixed 23 chars

A simple character count comparison suggests Bluesky's 300 is only 20 more than X's 280. However, when you factor in the grapheme cluster counting advantage for emoji and combining characters, plus the fact that link card URLs don't count, the effective information capacity gap is considerably larger. See our SNS character limit comparison for more details.

Conclusion

Bluesky's 300-character limit balances the AT Protocol's decentralized architecture with short-form social media usability. By understanding its technical features — grapheme cluster counting for intuitive character calculation, link cards that don't consume characters, and Facets for rich text processing — you can maximize the value of every character. Combine these with Bluesky-specific features like custom feeds and domain handles to craft concise, engaging posts. Check your character count with Character Counter before posting to avoid exceeding the limit.