Bluesky Character Counter

Count a Bluesky post the way Bluesky does: 300 visible characters.

  • Free
  • No sign-up
  • Runs in your browser

Bluesky Character Counter

0 / 300 characters. 300 left.

0 words0 lines

Counted as Bluesky counts: one per visible character, so an emoji is 1 however it is built.

At a glance

Post limit
300 characters (graphemes)
Profile description
256 characters
How it counts
One per visible character; an emoji is 1

How Bluesky counts

Bluesky's 300 limit is measured in graphemes, the units a reader sees. This counter splits text the way the Unicode standard defines user-perceived characters, using your browser's built-in text segmenter.

In practice: letters, digits, spaces and punctuation count 1 each, like anywhere else. An emoji counts 1, including ones built from several parts: a flag, a family, an emoji with a skin tone. An accented letter counts 1 whether it was typed as one character or as a letter plus an accent mark. Line breaks count 1.

Plain text

Good morning = 12

Emoji with a skin tone

👋🏽 = 1

Flag

🇯🇵 = 1

Fitting a cross-post into 300

Posts written for Instagram or LinkedIn usually need cutting for Bluesky. Lead with the point, drop the hashtag block, and move detail into a reply.

If the same text goes to X as well, check it against both. For plain English, Bluesky allows 20 more characters than X (300 against 280), and an emoji costs 1 on Bluesky but 2 on X. Links work the other way: X counts every link as 23, while this counter counts a link's full text, so with a long link it errs on the safe side for Bluesky. A post that fits one can fail the other, so switch the platform in the counter before you publish to both.

Questions

What is the Bluesky character limit?

300 characters per post. Bluesky counts graphemes: what a reader sees as one character counts 1, so an emoji is 1 even when it is made of several Unicode code points. Your profile description allows 256.

What is a grapheme, and why does it matter?

A grapheme is one character as a person sees it. A thumbs-up with a skin tone is two Unicode code points and four units of JavaScript string length, but it is one grapheme. Counters that use string length overcount emoji, flags and accented letters typed as two parts; on Bluesky, those all count 1.

Why does another counter say my Bluesky post is too long?

Because it counts string length rather than graphemes. A post with many emoji can read as over 300 in a generic counter and still fit on Bluesky. This counter splits text into graphemes, the same unit Bluesky uses for its limit.

How do I post more than 300 characters on Bluesky?

Write a thread: post the first part, then reply to your own post with the next. Each post in the thread has its own 300 character limit.

Is the Bluesky limit the same as X?

They are close in size but count differently. X allows 280 weighted characters, where an emoji is 2 and a link is 23. Bluesky allows 300 graphemes, where an emoji is 1. Switch the platform above to compare one post against both.

Now automate it

Tell SociaHive what should happen automatically. Edit the prompt below and we'll build the automation for you.

Post to Bluesky without counting by hand.

SociaHive schedules your posts to Bluesky, Instagram, X and more, and checks each against its platform’s limit, counted the way that platform counts.

See it built free

More free tools