A thread is a chain of replies to your own post. Each post should make sense alone.
Limits per platform
| Platform | Characters per post | Threads |
|---|---|---|
| X | 280 (25,000 with Premium) | Built into the composer |
| Bluesky | 300 | Built into the composer |
| Mastodon | 500 on most servers | Reply to your own post |
| 3,000 | None. Write one longer post |
The same 2,000 characters is about 8 posts on X, 7 on Bluesky and 4 on Mastodon.
How to make a thread on Twitter (X)
- Open the composer and write the first post.
- Click + to add the next post.
- Repeat, then click Post all.
To add to a thread later, open your last post and reply to it.
On Bluesky
Write the first post, add the next one from the composer, then post. Or reply to your own post. Bluesky's 300 characters often fit the whole thought; thread only when it doesn't.
On Mastodon
There's no thread composer. Post, then reply to yourself. Many people send the replies as Unlisted so only the first post lands on public timelines. With 500 characters you need half as many posts as on X.
Split long text
- Write it in full first. Then cut. The argument stays in one piece.
- Break at paragraphs and topic changes, never mid-sentence.
- Make each post stand alone. Someone will see post 4 on its own. Don't start it with "…and that's why".
- Keep lists together. Don't split item 2 from item 3 if they only make sense side by side.
- Number them if it helps. "1/6" tells readers how long it runs.
A structure that works
- Hook: the point, or what the reader gets.
- Context.
- Point one.
- Point two.
- Point three.
- The catch, or the nuance.
- Summary and a link or follow ask.
Under 10 posts on X. Three to five on Bluesky. Add an image to at least one post.
Schedule a thread with Statuz
A free CLI for X, Bluesky, Mastodon and LinkedIn. One --text per post, up to 25:
statuz posts create --to x --to bluesky --to mastodon --at "tue 9am" \
--text "1/ We cut our build time from 9 minutes to 50 seconds. Here's how." \
--text "2/ Cache dependencies by lockfile hash, not by branch." \
--text "3/ Run tests in parallel by file, not by suite." \
--text "4/ Most of the win was deleting a step nobody needed."- Every post is checked against every destination's limit before saving.
- Each post replies to the one before, in order.
- LinkedIn has no threads: add
--to linkedinand Statuz sends the thread as one post. --mediaattaches to the first post. Media on later posts: Scheduling.
Or let an agent split it: "turn this draft into a thread and schedule it for Tuesday 9am" (Agents).
Common mistakes
- A weak first post. Nobody reads post 2.
- Starting with "1/8" and dropping the numbers halfway.
- 20+ posts. Write a blog post and link it.
- Long paragraphs. Most people read on a phone.
- Threading what fits in one post.
- Threads for breaking news. Post the key fact.
More: schedule a tweet, cross-posting, Install.