Last updated: 2026-06-01 · X (Twitter) · By SocialKit Team
Writing the same thought four times is a waste. SocialKit's cross-post composer lets you draft once and push to X, Threads, Bluesky, and Mastodon in a single click — with separate caption variants for each network's character limits, so nothing gets silently truncated. Here's exactly how to do it.
Before you start
You need a SocialKit account — the 7-day free trial covers this workflow at €0.00 today.
Connect each network you want to post to: X uses standard OAuth; Threads connects via the Threads API (requires a Threads-enabled Instagram account, as of June 2026); Bluesky connects with an app password you generate inside the Bluesky app; Mastodon connects via OAuth on your specific home instance. If you have not linked these yet, go to your workspace's connections screen and authorize each one before composing your first cross-post.
Solo plan includes 15 social accounts — enough to connect X, Threads, Bluesky, and one or more Mastodon instances alongside your other profiles.
From your dashboard, navigate to the cross-post or create area. As of June 2026 this is where SocialKit's multi-network composer lives — you will see a list of your connected accounts so you can pick which ones receive this post.
Tip: If you only want to target the four microblog networks, tick X, Threads, Bluesky, and Mastodon and leave your other accounts unchecked. You can save that combination as a group for next time.
Check all four networks in the destination picker. SocialKit will open a separate caption panel for each so you can tailor the copy — but the shared text from step 3 pre-fills each one, so tailoring is optional rather than required.
Type your core message in the shared composer. As of June 2026, the standard character limits are: X 280 characters (higher for X Premium subscribers), Threads 500 characters, Bluesky 300 graphemes, and Mastodon 500 characters on most instances (though individual instances can raise or lower that cap). SocialKit shows a per-network character count as you type so you can see at a glance which variants need trimming.
Tip: Start with the tightest limit — Bluesky's 300 graphemes — so the base copy fits everywhere, then expand the Threads and Mastodon variants with extra context if you want.
Switch to each network's individual tab and adjust the copy. Common tweaks: shorten the X variant if it exceeds 280 characters; expand the Threads or Mastodon variant with a second paragraph; add relevant hashtags to Mastodon where discovery relies on them more heavily than on the other three. None of this is required — if the base text fits all four limits, you can skip this step entirely.
Tip: Hashtags behave differently across these networks as of June 2026: Bluesky does not surface posts by hashtag the same way Mastodon does; X and Threads treat them as optional discoverability signals rather than primary discovery tools. Tailor hashtag use per network rather than copying them verbatim across all four.
If your post includes an image, video, or a URL whose preview card you want to control, add media from the composer. Be aware that link-preview behavior varies: as of June 2026, X generates its own link card from Open Graph tags, Bluesky renders a card from the AT Protocol's embed spec, and Threads and Mastodon render cards based on OG tags — but rendering can differ by instance on Mastodon. Check the per-network preview in SocialKit before scheduling so you know what the card will look like.
Pick a date and time, or drop the post into your next available queue slot. All four networks will receive the post simultaneously at that moment. Use the SocialKit best-time data as a starting point — see the linked best-time pages below — but treat the figures as audience-specific estimates rather than guarantees.
Tip: The four microblog audiences do not always peak at the same hour. If you have analytics showing different windows per network, consider scheduling two versions — one for X and Threads, another offset by an hour for Bluesky and Mastodon — rather than one simultaneous blast.
Hit schedule (or publish now). After the post goes live, spot-check each platform directly: confirm the text, link card, and any media rendered as expected. As of June 2026, all four of these networks support direct API publishing for text and image posts through SocialKit, so you should not need a manual mobile step for standard posts — but check after your first cross-post to confirm everything went through on your specific account configuration.
As of June 2026, X counts characters (280 standard), Threads counts characters (500), Mastodon counts characters (500 on the flagship instance, but configurable per instance), and Bluesky counts graphemes — meaning a single emoji or multi-byte character can count as one grapheme rather than multiple bytes. In practice most Latin-script posts will not hit edge cases, but if you write in languages that use multi-byte characters (Arabic, Chinese, Japanese, Korean, etc.) Bluesky's 300-grapheme limit can be reached sooner than 300 visible symbols. SocialKit's character counter displays the correct unit per network.
All four networks generate link-preview cards from the URL's Open Graph metadata, but the fidelity and reliability differ. As of June 2026, X and Bluesky's card rendering is generally consistent; Threads can strip link previews in some post types; Mastodon instance behavior depends on the instance's link-preview settings. If your post is primarily link-driven, check the preview panel in SocialKit for each destination before you schedule.
When you connect a Mastodon account to SocialKit you connect to one specific instance (for example, mastodon.social, fosstodon.org, or your own server). The character limit, content-warning support, and local-timeline behavior are all set at the instance level. If you move servers or want to post from a second instance, you need to connect that second account separately — SocialKit treats each Mastodon instance as a distinct social account within your account quota.
SocialKit's cross-post composer lets you write once and publish to X, Threads, Bluesky, and Mastodon simultaneously — with per-network character counters, variant captions, and link-preview checks built in. Start the 7-day free trial at €0.00 today.
Cross-post to all four microblogs with SocialKitSchedule and cross-post to all 11 networks from one calendar on one flat plan. 7-day free trial — €0.00 due today.
€0.00 due today · cancel anytime · 7-day money-back guarantee
FAQ
The questions people ask before they schedule — answered honestly, hedged where platform behavior changes.
€0.00 due today · cancel anytime · 7-day money-back guarantee