Numbering before splitting
Adding «1/7» to every post by hand and then editing the text means renumbering everything. Write the text, look at the split, and number last if you want numbers.
Write the whole thing as one text. The splitter shows how calmposts would send it: a thread on X, Bluesky and Threads, cut at paragraphs and sentences, and one post on LinkedIn, every part counted by its network's rules.
Paste or type a text to see it as a thread on each network.
Free trial. After you sign up or sign in, the text opens in the composer as a new post, and nothing is saved or published until you say so.
Coming soon: Threads and LinkedIn.
One text of five short paragraphs and a link, as each network gets it.
We moved our weekly updates to threads, and here is why. First, people read threads. A single post with a link gets a glance; a thread with a clear first line gets read to the end. Our last three updates were threads, and twice as many people replied to them. Second, a thread lets each idea stand on its own. One post says what changed, the next one says why, the last one says what comes next. Nobody has to open a link to get the point. Third, threads are easy to write once you stop counting characters by hand. Write the whole update as one text, look at where it breaks, and fix the one sentence that ends up alone. The full notes are on our blog: calmposts.com/blog/weekly-threads
We moved our weekly updates to threads, and here is why. First, people read threads. A single post with a link gets a glance; a thread with a clear first line gets read to the end. Our last three updates were threads, and twice as many people replied to them.
1/3 · 260Second, a thread lets each idea stand on its own. One post says what changed, the next one says why, the last one says what comes next. Nobody has to open a link to get the point.
2/3 · 179Third, threads are easy to write once you stop counting characters by hand. Write the whole update as one text, look at where it breaks, and fix the one sentence that ends up alone. The full notes are on our blog: calmposts.com/blog/weekly-threads
3/3 · 238We moved our weekly updates to threads, and here is why. First, people read threads. A single post with a link gets a glance; a thread with a clear first line gets read to the end. Our last three updates were threads, and twice as many people replied to them.
1/3 · 260Second, a thread lets each idea stand on its own. One post says what changed, the next one says why, the last one says what comes next. Nobody has to open a link to get the point.
2/3 · 179Third, threads are easy to write once you stop counting characters by hand. Write the whole update as one text, look at where it breaks, and fix the one sentence that ends up alone. The full notes are on our blog: calmposts.com/blog/weekly-threads
3/3 · 248We moved our weekly updates to threads, and here is why. First, people read threads. A single post with a link gets a glance; a thread with a clear first line gets read to the end. Our last three updates were threads, and twice as many people replied to them. Second, a thread lets each idea stand on its own. One post says what changed, the next one says why, the last one says what comes next. Nobody has to open a link to get the point.
1/2 · 441Third, threads are easy to write once you stop counting characters by hand. Write the whole update as one text, look at where it breaks, and fix the one sentence that ends up alone. The full notes are on our blog: calmposts.com/blog/weekly-threads
2/2 · 248We moved our weekly updates to threads, and here is why. First, people read threads. A single post with a link gets a glance; a thread with a clear first line gets read to the end. Our last three updates were threads, and twice as many people replied to them. Second, a thread lets each idea stand on its own. One post says what changed, the next one says why, the last one says what comes next. Nobody has to open a link to get the point. Third, threads are easy to write once you stop counting characters by hand. Write the whole update as one text, look at where it breaks, and fix the one sentence that ends up alone. The full notes are on our blog: calmposts.com/blog/weekly-threads
1/1 · 691LinkedIn has no threads: the whole text is one post.
A thread is several posts in a row from the same account, each a reply to the one before. X, Bluesky and Threads all have them, and their limits differ: 280 on X, 300 on Bluesky, 500 on Threads. They count differently too, so the same text makes a different thread on each.
calmposts lets you write the text once. Where it is longer than one post, it goes out as a thread cut to that network's limit; where it fits, it goes out as one post. This page runs the composer's splitting code, built for the browser, so the thread you see here is the thread calmposts sends.
Each post takes as many words as fit and ends at the strongest break among them, the furthest one of its kind. The strongest break is a blank line between paragraphs; then a single line break; then the end of a sentence, a full stop, question mark, exclamation mark or ellipsis, with any closing quotes and brackets after it; then any space between two words.
So when a paragraph ends within the limit, the post ends there, even if a few more words would fit. When no paragraph ends in time, the post ends at the last line break, then at the last full stop, and only a sentence longer than a whole post is cut between two words.
A word is cut only when it is longer than a post on its own, such as a very long address. It is then cut between characters, and on X a link is never cut at all, since it counts 23 there whatever its length.
Everything you wrote stays as written: line breaks inside a post, double spaces, emoji, links. The only thing dropped is the space or line break where one post ends and the next begins, because a post does not start with a blank line.
Nothing is added. There is no automatic «1/5» numbering and no thread emoji at the start. If you want numbering, write it into the text: it is counted like everything else, and you see at once whether the post still fits.
X counts by weight, with links at 23 and emoji and CJK characters at 2. Bluesky counts the characters you see, links in full. Threads counts like Bluesky but an emoji by its bytes. A text with several long links can make a shorter thread on X than on Bluesky, and a text full of emoji a longer one on Threads than you would guess.
The X column follows your account: switch on X Premium and the limit is 25,000, so most texts become a single post there.
calmposts sends threads of up to 25 parts. A text that needs more is too long for one thread, and the splitter says so.
Keep paragraphs shorter than the tightest limit you post to, 280 if X is among them. Then every paragraph fits a post, and the splitter ends each post at a paragraph's end, usually with two or three paragraphs to a post on Threads and one or two on X.
Give each paragraph one idea and a last sentence that can end a post. Put the point of the whole text in the first paragraph, because the first post is the one people see in their timeline; the rest is for the ones who opened the thread.
Read the columns from the top before you schedule. When a post ends with a lonely half-sentence, a blank line one sentence earlier usually fixes it on every network at once.
LinkedIn has no threads. calmposts sends the text there as one post of up to 3,000 characters, and a thread you wrote in parts is joined with a blank line between every two. The splitter shows LinkedIn's count of the whole text and how far over 3,000 it is, if it is.
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 |
Adding «1/7» to every post by hand and then editing the text means renumbering everything. Write the text, look at the split, and number last if you want numbers.
A cut at exactly 280 often lands in the middle of a sentence, and readers stop at a broken line. Let each post end at a full stop.
A thread cut for X has posts of 280. Sent to Threads unchanged, it uses half of each 500; on Bluesky some parts may not fit at all, because links count in full there.
The first post is the one people see in the timeline. Put the point there, not «A thread 🧵».
One link in one part is usually enough: readers decide on the first post, and on X each post with a link costs more to publish through the API.
calmposts sends threads of up to 25 parts on X, Bluesky and Threads. A text that needs more is better as two threads, or as an article with a link to it.
On LinkedIn the limit is 3,000 characters for the whole post; the splitter shows how far over the text is, so you know how much to cut for LinkedIn's version.
Each post ends at the strongest break that fits: a blank line, then a line break, then the end of a sentence, then a space. Within each kind it takes the furthest one, so the posts are as full as they can be without breaking a paragraph.
No. Nothing is added to your text. Write «1/5» yourself if you want it; it is counted like the rest.
Because Bluesky counts links in full while X counts every link as 23, and Bluesky's 300 is close to X's 280. A text with several long links needs more room on Bluesky.
calmposts sends up to 25 parts per thread on X, Bluesky and Threads.
LinkedIn has no threads, so the whole text goes out as one post of up to 3,000 characters.
Yes. The splitter is the composer's own code, and the server cuts the text the same way when it publishes, so the thread you see is the thread that goes out.
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.
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