Bluesky · free tool

Bluesky character counter

Counted in graphemes, the way the AT Protocol record counts it — so the emoji that other counters charge you eleven times for costs exactly one here.

0 / 300

Counts graphemes — an emoji is 1

300 left

0 of 3,000 UTF-8 bytes

Words
0
Sentences
0
Graphemes
0
UTF-8 bytes
0

The Bluesky character limit

A Bluesky post is limited to 300 characters, counted as graphemes — the characters a reader actually sees.

  • The app.bsky.feed.post record sets maxGraphemes to 300, so an emoji, a flag or a family emoji counts as 1 and not as the 2 to 11 UTF-16 units your keyboard produced.
  • The same record sets a second cap of 3,000 UTF-8 bytes (maxLength). Only heavy emoji or non-Latin scripts reach 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 while the link still works.
  • Handles in a mention count in full, including the domain: @alice.bsky.social is 18 characters.

Tiers and upgrades

Every account

300 graphemes

Bluesky sells no higher limit. There is no subscription, no verification tier and no server setting that buys more room — Bluesky+ subscribers get the same 300.

Source ↗

What happens if you go over the limit on Bluesky

In the app

The counter turns red and the post button is disabled. Nothing is cut; the post simply cannot be sent until it fits.

Through the API

The record fails lexicon validation on your PDS and is never written — the error names the field that broke the 300-grapheme or 3,000-byte cap.

Character limits on every platform

The same post is a different length on every network. This is the full comparison, with the document each number comes from.

Character limits for X, Bluesky, Threads, Mastodon, LinkedIn, Instagram, Facebook and TikTok, with how each platform counts and where the number is documented. Verified September 8, 2026.
PlatformLimitPaid tierHow it countsSource
X (Twitter)28025,000PremiumLinks cost 23 · emoji and CJK cost 2X developer docs — Counting characters
Bluesky — this page3003,000 bytesCounts graphemes — an emoji is 1AT Protocol lexicon — app.bsky.feed.post
Threads500500 characters · an emoji costs its UTF-8 bytesMeta developer docs — Threads posts
Mastodon500default, per serverLinks cost 23 · mentions drop the domainMastodon docs — Posting
LinkedIn3,000Plain characters · the feed folds at ~210LinkedIn Help — Post and share updates
Instagram caption2,2002,200 characters · 30 hashtags · 20 @ tagsMeta developer docs — IG User Media (caption)
Facebook post63,20663,206 characters · folds at ~477Meta developer docs — Pages API Posts (no limit published)
TikTok caption2,2002,200 UTF-16 units — an emoji costs 2TikTok for Developers — Content Posting API

Last verified: September 8, 2026 · AT Protocol lexicon — app.bsky.feed.post

Writing this for more than one platform? MicroPoster cross-posts from X to Bluesky and handles each platform's limit automatically — anything too long is split into a native thread rather than rejected.

See auto-crossposting

7-day free trial · No credit card

Bluesky questions

What is the character limit on Bluesky?

300 characters per post. Bluesky counts graphemes — the characters a reader perceives — so an emoji, a flag or a skin-tone variant counts as one, not as the several UTF-16 units it is built from.

What is the 3,000-byte limit on Bluesky?

The app.bsky.feed.post record enforces two caps: 300 graphemes and 3,000 UTF-8 bytes. Latin text never reaches the byte cap first, but heavy emoji or non-Latin scripts can — 300 family emoji are far past 3,000 bytes, and the post is rejected even though the grapheme count fits.

Do links count towards the 300 characters on Bluesky?

Yes, in full — there is no link shortener. A long URL eats the budget character for character, which is why clients attach links as facets: the visible text stays short while the link still works.

Can I pay for a longer post on Bluesky?

No. Bluesky sells no higher limit, and a subscription does not change post length. Longer pieces are posted as a thread, each post with its own 300 characters.

Counters for the platforms next to this one

Or start from the character counter hub, which counts your draft against all eight platforms at once.