Count Words

Bluesky & Threads Character Counter

Check one post against both limits at once: 300 graphemes on Bluesky and 500 characters on Threads. Your text stays in your browser.

Your post

Results

Bluesky

Threads

Bluesky left

300

Threads left

500

Graphemes

0

Characters

0

UTF-8 bytes

0

Text attachment

Not needed

Up to 10,000 characters

Bluesky: 0 of 300 graphemes0%
Bluesky: 0 of 3,000 bytes0%
Threads: 0 of 500 characters0%

How this counts

Bluesky counts graphemes: what a reader sees as one character. One emoji counts as 1, even a family emoji built from seven code points. The post text is also capped at 3,000 bytes of UTF-8, which only matters for long runs of complex emoji.

Links are counted the way the Bluesky app shortens them: without https://, and with a path longer than 15 characters cut to its first 13 plus three dots. The full link is still attached to the post. If you post through another app or the API, the link may count at full length, so the count as typed is shown too.

The Threads API documentation gives the limit in characters and says emoji are counted as their UTF-8 bytes, so a simple emoji costs 4 and a family emoji 25. This page follows that rule. The Threads app may display a different number, so check its counter if you are close to the limit.

Bluesky and Threads limits

Bluesky post

300

graphemes

Bluesky post, stored size

3,000

bytes of UTF-8

Threads post

500

characters

Threads text attachment

10,000

characters, attached below the post

Text over 500 characters can go in a Threads text attachment underneath the post. Bluesky has no equivalent; longer text has to be split into a thread of replies.

Cross-posting

Write once and see straight away whether the same text fits both platforms, or which one needs a shorter version.

Emoji-heavy posts

Emoji cost 1 grapheme on Bluesky but several bytes on Threads. Paste a post full of emoji to see how much room it leaves on each.

Non-Latin scripts

Chinese, Japanese, Korean, Arabic and other scripts count one grapheme per character on Bluesky. The byte figure shows how close a long post gets to the stored-size cap.

Sources

Limits last checked against these sources on 2026-10-19.

More tools

Related tools

Other counters for social posts, each using that platform's own counting rule.

Bluesky and Threads character limit FAQ

What is the Bluesky character limit?

A Bluesky post can hold 300 graphemes. A grapheme is what a reader sees as one character, so a letter, an accented letter, a Chinese character and an emoji each count as 1. The post text is also capped at 3,000 bytes.

What is the Threads character limit?

A Threads post holds 500 characters. You can also attach a block of text of up to 10,000 characters, which readers expand to read.

Why does Bluesky have a byte limit as well?

The stored text of a post is capped at 3,000 UTF-8 bytes. Plain English uses 1 byte per character and most other scripts 2 to 4, so you will reach the 300-grapheme limit first. Only long runs of emoji built from several code points, such as family emoji, can reach the byte cap before the grapheme limit.

How does Threads count emoji?

According to the Threads API documentation, emoji count as their UTF-8 bytes rather than as one character. A simple smiley is 4 bytes, a thumbs up with a skin tone 8 and a family emoji 25, so a post full of emoji reaches the 500 limit much sooner than its length suggests.

Does a long link use up my Bluesky post?

Not in the Bluesky app. It drops https:// and cuts a long path to its first 13 characters plus three dots before counting, and keeps the full link attached. Other apps may count the link as typed.

Is my text sent anywhere?

No. The counting runs in your browser and the text is not uploaded.