Character counters and a thread splitter
Every network counts a post its own way. X weighs characters, Bluesky counts what you see, Threads counts emoji in bytes, LinkedIn gives you 3,000. These tools count exactly as calmposts does when it checks and sends your posts. Free, no sign-up, and your text stays in your browser.
A post that fits on one network can be too long on another. A family emoji counts 2 on X, 1 on Bluesky and 18 on Threads. A link counts 23 on X however long it is, and every one of its characters on the other three. When one text goes to several networks, you want each count before you publish, not an error after.
The counters below run the calmposts composer's own code, built for this site. The numbers are not estimates: a text the counter calls fine is a text calmposts accepts for that network. The thread splitter cuts a long text where the composer cuts it: at a paragraph, then a line break, then a sentence, and inside a word only when the word is longer than a post.
Everything runs in your browser. Nothing you type is sent anywhere unless you choose to schedule it, and then it opens as a draft in your own calmposts account.
X character counter
Counts a post the way X does: every link 23, emoji and CJK characters 2, up to 280, or 25,000 with Premium.
Bluesky character counter
Counts the characters you see, up to 300, and the UTF-8 bytes Bluesky caps at 3,000. Links count in full.
Threads character counter
Counts up to 500 the way Threads does: each emoji as many characters as its UTF-8 bytes, links in full.
LinkedIn character counter
Counts a LinkedIn post against its 3,000 characters, and shows what a thread becomes there: one post.
Thread splitter
Paste a long text and see it as a thread on X, Bluesky and Threads, and as one post on LinkedIn, cut where calmposts cuts it.
Why the same post counts differently
X still counts the way Twitter did: by weight. Latin, Cyrillic, Greek, Hebrew and Arabic letters weigh 1; Chinese, Japanese and Korean characters and every emoji weigh 2; every link counts 23.
Bluesky counts graphemes, the characters you see: an emoji with a skin tone is 1, and so is a flag. A link counts as written. Behind the 300 characters there is a second cap of 3,000 bytes.
Threads counts like Bluesky, except for emoji: each counts as many characters as it takes bytes in UTF-8. A thumbs-up is 4, a thumbs-up with a skin tone 8, a family 18.
LinkedIn has room for 3,000 characters and no threads. When calmposts sends a thread to LinkedIn, it joins the parts into one post with a blank line between them, so the whole text has to fit.
Post limits side by side
What one post takes on each network calmposts posts to, and how it is counted there.
| Network | One post | How characters count | Links | Threads |
|---|---|---|---|---|
| X | 280 characters; 25,000 with X Premium | By weight: most letters 1, emoji and CJK characters 2 | 23 each, whatever their length | A chain of replies, up to 25 posts in calmposts |
| Bluesky | 300 characters and 3,000 bytes | Graphemes: each character you see counts 1 | As written, every character | A chain of replies, up to 25 posts in calmposts |
| Threads | 500 characters | Graphemes, but an emoji counts its UTF-8 bytes | As written; at most 5 different links | A chain of replies, up to 25 posts in calmposts |
| 3,000 characters | Graphemes: each character you see counts 1 | As written, every character | None: a thread goes out as one post |
Questions about the tools
Are these tools free?
Yes. There is no sign-up, no limit on how often you use them and nothing added to your text. They are a small part of calmposts, the scheduler they come from.
Is my text sent anywhere?
No. Counting and splitting run in your browser. Only when you press «Schedule this post in calmposts» is the text kept in this browser, for up to an hour, so the composer can open with it after you sign up or sign in. It reaches calmposts when you save the draft, not before.
Do the counts match the networks?
They match calmposts, which checks every post against each network's rules when it is saved and again before it is sent. The rules follow X's, Bluesky's, Threads' and LinkedIn's own documentation, and the tools run the code the composer runs: when a rule changes, both change together.
Can I see a thread for several networks at once?
Yes. Paste the whole text into the thread splitter: it shows the thread on X, Bluesky and Threads side by side, and LinkedIn's single post, each part with its count.
More from calmposts
The networks calmposts posts to, each through its official API, and what it does on each.
Flat monthly plans with a free trial, X's fees included.
Schedule posts and threads from your own code. The API checks the same limits as these tools.
Let Claude, ChatGPT or another agent draft and schedule posts for you, within the same limits.
Write once, post everywhere
calmposts counts your post for every network as you type, turns a long text into a thread where a network has threads, and sends each part on time through the networks' official APIs.
See the plans