All free tools
Free Tool

Bluesky Character Counter

Count posts the way Bluesky actually counts them — graphemes, not codepoints — and see a live preview before you post.

300
Try a sample:
Characters (graphemes)0 / 300
Bytes (UTF-8)0 / 3,000
0
Links
0
Mentions
0
Hashtags
Live preview
Your Name@you.bsky.social· now
Your post will appear here…
000

Preview shows how text, links, mentions and hashtags render on the Bluesky web client. Image cards and link previews appear when posted.

Runs in your browser — nothing stored

Accurate grapheme + byte counting

Free forever, no account required

How Bluesky counts characters

Bluesky uses grapheme segmentation for its 300-character limit, not raw character codes. A grapheme is a single user-visible character — so a flag emoji 🇬🇧 (which is technically two regional-indicator codepoints joined into one glyph) counts as 1, not 2 or 8.

This counter uses the browser's built-in Intl.Segmenter API to match Bluesky's behavior exactly. It also tracks the underlying UTF-8 byte size, which has a separate 3000-byte cap on the record itself.

Posts that look fine on length but hit the byte cap usually contain a lot of emoji or non-Latin scripts (Chinese, Japanese, Arabic, etc.) where each character takes multiple bytes.

Frequently asked questions

What's Bluesky's character limit?+

Bluesky posts are limited to 300 graphemes (visible characters) and 3000 UTF-8 bytes. Most emoji and accented characters count as a single grapheme even though they're several bytes.

How is this different from a normal character count?+

Standard JavaScript .length counts UTF-16 code units, which over-counts emoji and complex scripts. Bluesky uses grapheme segmentation (the same as Twitter and most messaging apps), so a face emoji counts as 1, not 2.

Do URLs count toward the limit?+

Yes — the full URL counts in the underlying post text, even though Bluesky displays a shortened version on the timeline. We show both the raw count and the displayed count.

What's the byte limit for?+

Bluesky stores each post record with a 3000-byte cap. You'll usually hit the 300-grapheme limit first, but emoji-heavy or non-Latin script posts can hit the byte cap sooner.

Will my post look exactly like the preview?+

The preview shows how text, links, mentions, and hashtags are styled in the Bluesky web client. Image cards, quote posts, and link previews aren't shown but will appear when you post.

Want to schedule this post?

SkyGrow lets you schedule posts (with images), generate AI replies to relevant conversations, and track your follower growth — all in one place.

Try SkyGrow free

© 2026 SkyGrow. All rights reserved.