Tools
Free tool / no signup

Newsletter to Social Post Splitter

Turn one newsletter issue into X, LinkedIn, Threads and Bluesky posts that keep their links, with counters, a teaser and a 7-day CSV drip. No AI, in your browser.
Networks

Limits used: X 280 weighted (URLs count 23), Threads 500, Bluesky 300 graphemes, LinkedIn 3,000 (widely documented, approximate).

Detected sections (6)

7-day drip (20 items)

Day +1 / X / Opening

Hello readers. This week: why small teams ship faster, and three links worth your coffee break.

95 / 280

Day +1 / LinkedIn / Opening

Hello readers. This week: why small teams ship faster, and three links worth your coffee break.

95 / 3000

Day +1 / Threads / Opening

Hello readers. This week: why small teams ship faster, and three links worth your coffee break.

95 / 500

Day +1 / Bluesky / Opening

Hello readers. This week: why small teams ship faster, and three links worth your coffee break.

95 / 300

Day +2 / X / Why small teams ship faster

Why small teams ship faster Small teams skip the meeting about the meeting. They write decisions down, and the person closest to the work makes the call. Nobody waits for a slide deck to be approved. Full argument here: https://example.com/small-teams

246 / 280

Day +2 / LinkedIn / Why small teams ship faster

Why small teams ship faster Small teams skip the meeting about the meeting. They write decisions down, and the person closest to the work makes the call. Nobody waits for a slide deck to be approved. Full argument here: https://example.com/small-teams

254 / 3000

Day +2 / Threads / Why small teams ship faster

Why small teams ship faster Small teams skip the meeting about the meeting. They write decisions down, and the person closest to the work makes the call. Nobody waits for a slide deck to be approved. Full argument here: https://example.com/small-teams

254 / 500

Day +2 / Bluesky / Why small teams ship faster

Why small teams ship faster Small teams skip the meeting about the meeting. They write decisions down, and the person closest to the work makes the call. Nobody waits for a slide deck to be approved. Full argument here: https://example.com/small-teams

254 / 300

Day +3 / X / A tidy guide to timezones

A tidy guide to timezones Read it before your next launch. https://example.com/tz

84 / 280

Day +3 / LinkedIn / A tidy guide to timezones

A tidy guide to timezones Read it before your next launch. https://example.com/tz

83 / 3000

Day +3 / Threads / A tidy guide to timezones

A tidy guide to timezones Read it before your next launch. https://example.com/tz

83 / 500

Day +3 / Bluesky / A tidy guide to timezones

A tidy guide to timezones Read it before your next launch. https://example.com/tz

83 / 300

Day +4 / X / Lovely essay on pricing pages

Lovely essay on pricing pages https://example.com/pricing

54 / 280

Day +4 / LinkedIn / Lovely essay on pricing pages

Lovely essay on pricing pages https://example.com/pricing

58 / 3000

Day +4 / Threads / Lovely essay on pricing pages

Lovely essay on pricing pages https://example.com/pricing

58 / 500

Day +4 / Bluesky / Lovely essay on pricing pages

Lovely essay on pricing pages https://example.com/pricing

58 / 300

Day +5 / X / How a two person team runs support

How a two person team runs support Short and practical. https://example.com/support

81 / 280

Day +5 / LinkedIn / How a two person team runs support

How a two person team runs support Short and practical. https://example.com/support

85 / 3000

Day +5 / Threads / How a two person team runs support

How a two person team runs support Short and practical. https://example.com/support

85 / 500

Day +5 / Bluesky / How a two person team runs support

How a two person team runs support Short and practical. https://example.com/support

85 / 300

How to use the Newsletter to Social Post Splitter

  1. 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.
  2. 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.
  3. 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.
  4. 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.