Free · no sign-up to generate · no API keys · For streamers →
Write it once.
Ship it everywhere.
Paste one post and get platform-perfect variants for every network — each with a copy button and a link that opens that platform's compose box (pre-filled when you're already signed in there). Free, and you don't need an account to generate. Nothing to connect, no accounts to link — just review and post.
New here? Hit ✨ Show me what it makes above to watch one post become ready-to-ship variants — no sign-up needed.
- Write it once. Fill in your headline + summary on the left (add a link, tags, or image/video if you have them).
- Pick your platforms. We tailor the length, hashtags, link placement and tone to each one — see what each network gets.
- Generate, then Copy or Open. Copy a variant, or open that platform's compose box (pre-filled if you're signed in there) — then review and post.
- reach 4/5 how many reach best-practices the post hits
- ✓ hook the specific levers it's using (hook, link spot, CTA, #tags, length)
- ↳ first comment the link to drop in your first comment (kept out of the body so it reaches more people)
- ⏰ best time when that platform gets the most engagement
- Copy / Open ↗ / ✨ AI rewrite copy the text · open the post box (pre-filled if you're signed in) · let AI rewrite it natively for that platform
14 networks · one draft
What each network gets
Every variant is cut to that network's real limit, counted the way the network counts, with the link placed where it won't cost you reach. The Open button opens the compose box when you're already signed in there; the text is copied either way.
| Network | Length | Link | Hashtags | Open button |
|---|---|---|---|---|
| X (Twitter) | 280, weighted like X counts: emoji and CJK count 2, every URL counts 23 | first comment | up to 3 | compose box |
| Threads | 500 | first comment | up to 3 | compose box |
| Bluesky | 300 graphemes, so an emoji counts once | in the post | up to 3 | compose box |
| Mastodon | 500, on your server | in the post | up to 4 | your server's share page |
| 3,000, trimmed toward the ~1,300 sweet spot | first comment | up to 5 | compose box | |
| title 300, body up to 1,500 | first comment | none, no footer | submit page | |
| Hacker News | title 80, link only, no body | the submission | none | submit page |
| 2,000 | in the post | up to 3 | sharer opens, drops the text, you paste | |
| Telegram | 1,000 | in the message | none | share sheet, works signed out |
| Medium | 500 intro | in the body | up to 5 | new story, you paste |
| Dev.to | 500 intro | in the body | up to 4 | new post, you paste |
| 2,200 caption, media required | bio only | up to 12 | upload page, you paste | |
| TikTok | 2,200 caption, video required | bio only | up to 6 | upload page, you paste |
| YouTube | 5,000 description, video required | in the description | up to 6 | upload page, you paste |
- counting X is counted the way X counts (twitter-text weighting) and Bluesky counts graphemes. A draft that used to read 195/280 while weighing 368 now stays under the cap. The counter in the editor uses the same math as the server.
- titles Hacker News titles stop at 80 and Reddit titles at 300, in the text and in the compose link, without splitting an emoji.
- reddit No hashtags and no "via Crossfire" line on Reddit or Hacker News, where promo gets buried. Non-Latin hashtags are kept everywhere else.
- open buttons Labels say what happens: "Open compose", "Open + paste", "Open upload page". Facebook drops the quote, so you paste. Instagram, TikTok, YouTube, Medium and Dev.to have no prefill URL, so you paste.
- reach The reach score is a plain checklist (hook, link spot, call to action, tags, length). It is not an algorithm grade, and the media check that could never pass is gone.
- defaults Instagram is out of the Popular set because it needs media and has no compose link. Popular is X, LinkedIn, Threads, Bluesky and Reddit.
- free No paid tier, no upgrade prompts. Uploads need a free account. A strict content-security policy ships on every page, and nothing is ever posted on your behalf.