Live counts for the post (300), post text bytes (3,000) and bio (256), measured the way Bluesky counts them. Everything runs in your browser; nothing you type is stored or sent anywhere.
How to use the Bluesky character counter
- Pick the field
Choose what you are writing: post, post text bytes and bio. Each field has its own Bluesky limit. - Type or paste
The count updates on every keystroke, using Bluesky's own counting rules for emoji and links. - Watch the limit bars
Each bar turns amber past 90% of the limit and red when you are over, with the exact number of characters to trim. - Trim and copy
Cut until every field is under its limit, then paste into Bluesky.
Bluesky character limits in 2026
There are two ceilings at once: 300 graphemes and 3,000 UTF-8 bytes. English text never reaches the byte limit, but a post made mostly of combined emoji or non-Latin script can hit it first. The bsky.app composer shortens how a link is displayed, so it may show a lower count than a post sent through the API.
| Field | Limit | Note |
|---|---|---|
| Post | 300 | counted in graphemes |
| Post text bytes | 3,000 | UTF-8 bytes |
| Bio | 256 | - |
How Bluesky counts characters
Bluesky counts graphemes, the characters you see, so an emoji or a flag counts as 1. The text must also fit 3,000 UTF-8 bytes, and links sent through the API count at full length.
When your post does not fit in 300 graphemes
Bluesky has no long-post mode, so a longer text becomes a thread of replies. Split at sentence boundaries and never inside a link, because a link sent through the API counts at its full length.
The Bluesky thread maker splits a draft into posts under 300 graphemes and 3,000 bytes, with numbering and copy buttons.
The same text on other networks
One draft gets a different number on every network, because each one counts differently. Here is how the Bluesky limit compares.
| Network | Main limit | How it counts |
|---|---|---|
| X | 280 (post) | weighted: links 23, emoji 2, CJK 2 |
| 3,000 (post) | UTF-16 code units; most emoji cost 2 | |
| Threads | 500 (post) | UTF-16 code units; links at full length |
| Mastodon | 500 (post) | links 23, emoji 1, remote mentions as @name |
Finish polishing before you publish
- Bluesky Thread Splitter / Maker
- Bluesky Post Preview
- Bluesky Line Break Formatter
- Bluesky Engagement Rate Calculator
- All free Bluesky tools
- Bluesky growth
Your post is within every limit. Now get it seen.
A post that fits is ready to publish. Real likes, reposts and replies in the first hours are what carry it further on Bluesky.
Frequently asked questions
What is the Bluesky character limit?
300 graphemes per post, with a second cap of 3,000 UTF-8 bytes.
Do emoji count as one character on Bluesky?
Yes. Bluesky counts graphemes, so a family emoji or a flag counts as 1.
How do links count on Bluesky?
Through the API a link counts at its full length. The bsky.app composer shortens how the link is displayed, so it costs less there.
Do spaces count on Bluesky?
Yes. Every space and line break counts as one character toward the 300.
Is my text uploaded anywhere?
No. The counter runs in your browser and nothing you type leaves the tab.