Tweet Thread Splitter

Paste a long post and split it into a numbered Twitter/X thread of character-limit-safe tweets that never break a word in half. Runs entirely in your browser, no server, no sign-up.

Thread

What this tool does

Paste a long piece of text and split it into a numbered Twitter/X thread of character-limit-safe tweets — without ever breaking a word in half. Everything runs locally in your browser: nothing is uploaded, it works offline once loaded, and there is no sign-up.

How it works

  1. Paste your text.
  2. Pick the characters per tweet (default 280, X/Twitter's standard limit). Use a smaller number for a tighter thread, or a larger one for X Premium long posts (up to 25,000).
  3. Choose a numbering style (or turn it off).
  4. Choose how length is counted (see below).
  5. Keep sentence-boundary breaks on (default) so tweets rarely end mid-thought.

The splitter packs whole words greedily into each tweet, so a tweet is filled as much as possible while always staying at or under the limit — and a word is never split across two tweets. The counter is included in the count, so the final tweet text never exceeds your limit.

Numbering styles

StyleLooks like
parens (default)…your text (1/5)
slash…your text 1/5
dotted1. your text (numbered-list style, prepended)
noneno counter at all

Counting: characters vs. UTF-16

CountWhat it measuresWhen to use
chars (default)Unicode characters — one emoji counts as 1Simple, predictable splitting
utf16UTF-16 code units — an emoji or other astral character counts as 2Matching how X and most JavaScript clients weigh emoji

If your text has lots of emoji and you want the count to line up with what X actually shows, choose utf16.

Sentence-aware breaks

With Prefer breaking on sentence boundaries on (the default), the splitter starts a fresh tweet after a sentence ends (., !, ?) whenever it can, so a tweet rarely cuts off mid-thought. A single sentence that is longer than one whole tweet still falls back to word-packing — and a word is never broken.

Long words and URLs

A "word" longer than a whole tweet — for example a very long URL — is hard-split across tweets on safe character boundaries, so nothing is ever dropped from your text.

Examples

InputSettingsResult
A 600-character paragraph280 · parens3 tweets ending (1/3), (2/3), (3/3)
hello world280 · parenshello world (1/1)
just a short note280 · nonejust a short note (one tweet, no counter)
First point. Second point.280 · dotted · sentences on1. First point. / 2. Second point.

FAQ

Is it free and private?

Yes — your text never leaves your device, and the tool keeps working offline once the page has loaded.

Does it break words in the middle?

No. Whole words are kept together; the only thing ever split is a single "word" that is by itself longer than one whole tweet (like a long URL), so no content is lost.

Does the counter count toward the limit?

Yes. The numbering is included in the per-tweet count, so every emitted tweet — counter included — stays at or under your chosen limit.

Which numbering style should I use?

parens ((1/5)) is the most common Twitter convention; slash (1/5) is the same without parentheses; dotted (1.) reads like a numbered list; none drops the counter entirely.

What limit should I use?

Leave it at 280 for standard X/Twitter posts. Use a higher value if you post with X Premium's longer limit, or a lower value to keep each tweet short.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool tweet-thread-splitter "Paste the long post you want to turn into a thread…"

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/tweet-thread-splitter/?text=Paste%20the%20long%20post%20you%20want%20to%20turn%20into%20a%20thread%E2%80%A6&limit=280&numbering=parens&count=chars&prefer_sentences=true

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.