How each network counts
What the checker measures
Four counts run on your text at once. Graphemes use the browser's Intl.Segmenter, with a fallback to code points where it is missing. Code points count Unicode values. UTF-16 units equal JavaScript's string length. Bytes are the UTF-8 size, which matters for systems that cap by bytes: the Bluesky schema also carries a 3000 byte ceiling, which a 300 grapheme post cannot reach unless it is packed with multi-part emoji.
The rules, with sources
Bluesky: 300 graphemes, from the maxGraphemes value of its post schema. Mastodon: per its documentation, checked October 2026, a default of 500 characters, links counted as 23 and only the username part of a mention counted. Its server validator counts grapheme clusters, and the limit is a per-server setting. Threads: 500 characters, with Meta's counting method unpublished. Pixelfed: the caption limit is a per-server setting that defaults to 500, and the counting method is unpublished, so this tool counts code points and says so.
How emoji are handled: a zero width joiner glues several emoji into one picture, two regional indicator letters form a flag, and a combining mark attaches to the letter before it. The cut point never lands inside one of these, so a shortened post never ends in half a family.
Limitations
Unverified counting methods are labelled on each card. Servers can run custom limits, which you can enter. Link and mention detection covers addresses that start with http or https and mentions in the @name@server form, as Mastodon's own rules define them.
Frequently asked questions
What is the Bluesky character limit?
A Bluesky post can hold 300 graphemes. A grapheme is one character as you see it, so a flag, an accented letter typed with a combining mark or a family emoji each count as one. Links count for the characters of the text you type unless the app shortens the visible link text.
Why does my emoji count as 2 or more in some counters?
Many counters report UTF-16 units, the way JavaScript measures string length. A flag is 4 units and a family emoji is 11, even though each looks like one character. Bluesky and the Mastodon server count graphemes, so the same emoji costs 1 there.
How long is a Mastodon post, and how are links counted?
The default is 500 characters on the flagship server, and each server can change it. Every link counts as 23 characters regardless of its length, and a mention such as @name@server.social counts only the @name part.
What is the Threads character limit?
A Threads post can hold 500 characters. Meta does not publish how it counts emoji sequences, so this checker counts what you see as one character and counts links in full. Treat the Threads cut point as a close estimate.
What is the difference between a grapheme and a code point?
A code point is one Unicode value. A grapheme is what a reader sees as a single character, and it can be many code points joined together: a family emoji is 7 code points, a flag is 2, and e plus an accent mark is 2. The table under the counters lists the pieces of each multi-part character in your text.
Can I schedule posts to Threads, Bluesky, Mastodon and Pixelfed?
TimeToPost can publish to all four from your own connected accounts. Use this page to size a post first, then queue it in the scheduler.