How to use the Newsletter to Social Post Splitter
- Paste the issue. Drop in the Markdown or plain text of your newsletter. Headings, numbered items and a links of the week list are split into separate sections automatically.
- Untick what you do not want. Sponsor blocks and sign-offs are switched off by default. Untick any other section you would rather keep out of the social plan.
- Add the issue link for the teaser. Enter the issue title and its web address. Each network gets a short teaser post that lists up to three section titles and ends with your link.
- Copy or export. Copy single posts, or download the CSV with a day offset, network and text for every post, then load it into your scheduler.
How the splitter works
What it detects and builds
The parser reads Markdown headings, numbered lists, bold lead-ins on numbered items and bulleted link lists. It strips emphasis, code ticks, quote markers and images, then builds one post or thread per section for each network you select.
The drip plan puts a teaser on day 0 and spreads your sections evenly across days 1 to 6, in the order they appear in the issue. The CSV has three columns: day_offset, network and text. Thread posts appear as consecutive rows for the same day and network.
Counting rules and sources
X: 280 weighted characters, URLs count 23, emoji count 2, per the X developer documentation page on counting characters. Bluesky: 300 graphemes, per the app.bsky.feed.post lexicon in the public atproto repository. Threads: 500 characters for text posts, per the Threads API publishing documentation, checked October 2026.
LinkedIn: 3,000 characters is widely documented and approximate. Treat the LinkedIn counter as a guide, not a guarantee.
Limitations
The tool does not shorten or rewrite, so a long paragraph on a short-limit network becomes a thread rather than a summary. It does not fetch your issue from a web address and does not check that your links work. Always read the posts before scheduling, since a split can land between two sentences you would have kept together.
Frequently asked questions
How does it decide where one section ends and the next begins?
A Markdown heading starts a new section, and so does each numbered item. Inside a section whose heading mentions links, reading or a roundup, every bullet becomes its own post. If your text has no structure at all, blank-line paragraphs are used instead. Everything is rule based, so you can see and untick each detected section before you copy anything.
Do the links stay with the right post?
Yes. Markdown links and bare web addresses are lifted out of the paragraph they sat in, the link text stays in the sentence, and the address is added back at the end of that section's post. On a thread, the address goes on the last post so the earlier ones read cleanly.
What happens when a section is longer than the network allows?
It becomes a numbered thread. The text is packed sentence by sentence, then word by word, and a single very long word is cut by grapheme as a last resort. Every post is counted for its own network, with the counter turning red if anything is over.
Why does X count differently from Bluesky?
X counts weighted characters: every web address costs 23 no matter how long it is, and emoji and many non-Latin characters cost 2. Bluesky counts graphemes, which means a family emoji is one character but a long web address is counted in full. The same section can therefore fit on one network and need a thread on another.
Is the LinkedIn 3,000 character limit official?
It is widely documented but not stated on the LinkedIn developer pages we could read, so treat it as approximate. The tool uses 3,000 and most sections fit comfortably under it. Threads (500) comes from Meta's Threads API documentation and Bluesky (300 graphemes) from its public post schema.
Does it use AI to rewrite my newsletter?
No. It never changes your wording beyond removing Markdown markup and moving web addresses. What you wrote is what gets posted, which also means the posts will sound like your issue and not like a summary. Nothing leaves your browser.