Bluesky reference

Bluesky character limit: 300 graphemes per post

The Bluesky character limit is 300 graphemes per post, and a grapheme is one symbol as you see it, so an emoji counts as one. Check your post with the free counter below, or let Postdom write your Bluesky posts in your brand and check every one against the limit before it goes out.

What is the Bluesky character limit?

A Bluesky post can hold 300 graphemes of text. Bluesky publishes that figure in its own machine-readable post format, so it is the number to trust.

The same field also declares a 3,000 maxLength. That is a ceiling on the encoded size of the text, not a longer post you can unlock. Both apply at once, and for ordinary writing the 300-grapheme cap is the one you reach first.

Both caps on text, and what each one bounds
ValueDeclared asBoundsEnforced by Postdom
300maxGraphemesWhat a reader would count as characters. This is the cap that binds an ordinary post. A grapheme is one symbol as you see it — an emoji built from several code points is one grapheme, not several.Yes
3,000maxLengthThe encoded size of the same field. Declared on the same property in the same file. It is not a second, larger post limit you can opt into — both apply at once, and for ordinary text the grapheme cap is reached first.No

Both figures come from the app.bsky.feed.post lexicon at a pinned commit — machine-readable and first-party, which is rarer than it should be for a fact like this. The grapheme cap was checked ; the maxLength figure .

Free Bluesky character limit checker

Paste your post to see both counts: graphemes, which Bluesky limits, and UTF-16 code units, which Postdom checks. It is free and nothing you paste is posted.

Graphemes
0Bluesky’s published cap — 300
UTF-16 code units
0What Postdom’s check measures — 300

Passing here is not Bluesky accepting the post. Postdom's own check is the code-unit figure, which is the stricter of the two.

Bluesky character count: what counts as one

Letters, spaces, punctuation and line breaks each count as one grapheme. An emoji also counts as one, even when it is built from several pieces, like a family emoji or a skin-tone variant.

The same post format also limits tags: at most 8, each up to 64 graphemes.

How to post more than 300 characters on Bluesky

You can't raise the limit. The 3,000 figure is not a longer post mode, and no setting or app turns it into one.

For a longer piece, write a thread: several posts in a reply chain. Bluesky is built around that shape, so a thread reads naturally in the feed.

Questions about the Bluesky character limit

What is the Bluesky character limit?

300 graphemes per post. The same field also declares a 3,000 maxLength on the encoded size, and both apply at once. For ordinary text the grapheme cap is reached first.

Do emoji count as one character on Bluesky?

Yes. Bluesky counts graphemes, and an emoji built from several code points is one grapheme. Postdom's own check counts UTF-16 code units, where that same emoji costs more than one, so the counter shows both.

Can I post more than 300 characters on Bluesky?

Not in one post. Write a thread instead: several posts in a reply chain.

Is there a limit on Bluesky tags?

Yes: at most 8 tags, each capped at 64 graphemes.

Does Postdom check the Bluesky character limit?

Yes. Postdom refuses text over 300 UTF-16 code units before it reaches Bluesky. A code-unit count is never smaller than a grapheme count, so anything Postdom accepts fits Bluesky's limit.

Write Bluesky posts that fit, with Postdom

Postdom turns your website into ready-to-post content in your brand and posts the ones you approve to TikTok, Instagram and more. Every Bluesky post is checked against the 300-unit limit before it goes out, so a post that is too long is caught before it is sent, not after.

Nothing posts until you approve it. Start on Free with no card: 1 post a month on 2 accounts, on any platform, Bluesky included.

Start free with Postdom

Paste your website and see your first post today.