Cross-posting

How to cross-post from Bluesky to Instagram

Bluesky is a text-first network where a post with no image at all is the norm. Instagram is the opposite — every feed post demands a photo, a carousel, or a video, and a caption with no image simply cannot be published. That single structural mismatch is what makes Bluesky-to-Instagram the most misunderstood direction on this route: your words can travel almost untouched (300 graphemes expands to a 2,200-character budget), but the post itself may not exist on Instagram without a visual you create from scratch.

This guide names the constraint clearly, covers what does transfer cleanly when you have an image attached, and gives you a practical workflow for both the pure-text and image-accompanied cases — manually and via SocialKit.

Start My Free Trial

€0.00 due today · cancel anytime · 7-day money-back guarantee

Bluesky vs Instagram: the spec deltas

Everything that changes between the two composers, side by side.

BlueskyInstagram spec mapping. Limits last verified June 2026; platforms change these quietly, so check the composer when in doubt.
SpecBluesky (from)Instagram (to)
Primary canvas1200 × 675 px · 16:9 (post image)1080 × 1350 px · 4:5 (post)
Caption limit300 graphemes (visual characters — emoji count once)2,200 characters
Video lengthShort clips — Bluesky has been raising limits (around 3 minutes as of early 2026)Reels up to 3 minutes for standard accounts (Instagram has been extending limits)
HashtagsPlain-text hashtags count toward the 300-grapheme limitCapped at 5 per post (rolling out since Dec 2025), counted across caption and comments; 3–5 focused tags was already Instagram’s guidance
Visual requirementImage optional — text-only posts are the norm on BlueskyImage or video required for every Instagram feed post
Link behaviorURLs render as tappable cards with a link previewCaption links are not clickable — move key links to bio or link-in-bio
Handle formatAT Protocol format: @user.bsky.social (or custom domain)Instagram handle: @username — replace all mentions manually

The good news

What transfers cleanly

  • The full caption text: Bluesky caps posts at 300 graphemes (visual characters, emoji count once), and Instagram allows up to 2,200 characters — every word of a Bluesky caption fits on Instagram with room to spare.
  • Attached images: when a Bluesky post carries a photo, that file moves to an Instagram feed post without re-cropping, provided the original is square (1:1) or portrait (4:5) — the most common image shapes on both platforms.
  • Hashtags as text: plain-text hashtags used on Bluesky migrate into the Instagram caption without any reformatting; just reduce them to 3–5 focused tags for Instagram norms.
  • Links in the caption copy: you can paste a URL into the Instagram caption as reference text — Instagram does not make caption links clickable, but the URL is still readable to followers who want to look it up.
  • Tone and voice: Bluesky’s culture rewards direct, conversational writing — that register translates naturally to Instagram captions, especially for carousel covers and single-image posts.

The fine print

What breaks in transit

  • Pure-text posts have no Instagram equivalent: Instagram requires at least one image or video on every feed post. A text-only Bluesky post cannot be cross-posted as a feed post without first creating a visual — a branded quote card, a screenshot, or a designed graphic.
  • Caption links are not clickable: Bluesky renders URLs as tappable cards with a preview; Instagram strips link interactivity from captions entirely. Move your key link to the bio or a link-in-bio tool and replace the URL in the caption with a plain CTA.
  • Hashtag count: Bluesky’s 300-grapheme budget encourages lean tagging anyway, but Instagram now caps posts at 5 hashtags (rolling out since Dec 2025) — paste only your 3–5 most relevant tags and drop the rest.
  • @mention resolution: Bluesky handles use the AT Protocol format (e.g. @user.bsky.social) and point to entirely different accounts than Instagram handles of the same name — replace every mention manually.
  • Image aspect ratio edge cases: Bluesky accepts wide landscape images (up to roughly 2:1) that Instagram crops aggressively in the feed grid. A landscape image that reads well on Bluesky may need a square or portrait crop before uploading to Instagram.

Step by step: by hand vs with SocialKit

The manual way

  1. Check whether the Bluesky post has an image attached. If it is text-only, design a quote-card or branded graphic first — without a visual, the Instagram post cannot be published.
  2. Download or export the image at its original resolution. If the aspect ratio is wider than 1.91:1, crop it to square (1:1) or portrait (4:5) before uploading to avoid unexpected Instagram cropping.
  3. Copy the Bluesky caption text. Since 300 graphemes always fits inside Instagram’s 2,200-character limit, no truncation is needed — but do rewrite any @handles to their correct Instagram equivalents and remove the AT Protocol suffixes.
  4. Replace any URLs in the caption with a plain CTA like "link in bio" and update your Instagram bio link or link-in-bio page to point to the destination.
  5. Trim hashtags to 3–5 focused tags that describe the image content. Instagram’s 5-tag cap (rolling out since Dec 2025) applies across caption and comments.
  6. Upload the image as an Instagram feed post, add alt text describing the image, and schedule it for an Instagram peak time — separate from when you published on Bluesky.

With SocialKit — compose once, customize per network

  1. Compose once: upload the image (or a set of images for a carousel) in SocialKit’s composer and select both Bluesky and Instagram as destinations in the same session.
  2. Customize per network on the same screen: keep the Bluesky base caption at 300 graphemes or under, then expand the Instagram variant with more context, an adjusted CTA, and 3–5 hashtags — without re-uploading the image.
  3. Schedule each platform independently: set the Bluesky post and the Instagram post to their own best-time slots instead of publishing both simultaneously.
  4. Review per-post analytics in SocialKit after both go live to see which format earned more engagement on its native platform.
Start My Free Trial

€0.00 due today · cancel anytime · 7-day money-back guarantee

Pro tips

Tip 1

Design a quote-card template: if you post text-heavy content on Bluesky regularly, build a reusable branded card layout so that converting any thread or post to an Instagram visual takes under a minute.

Tip 2

Keep Bluesky image exports at their original resolution before any AT Protocol compression applies — re-downloading a shared Bluesky image can introduce artifacts visible on Instagram’s larger display surfaces.

Tip 3

Instagram’s feed grid crops to square thumbnails by default — if you use a portrait (4:5) image, verify that the subject isn’t cut off in the grid preview before publishing.

FAQ

Bluesky → Instagram questions

Start My Free Trial

€0.00 due today · cancel anytime · 7-day money-back guarantee

Can I cross-post a text-only Bluesky post to Instagram?

Not as a feed post — Instagram requires at least one image or video for every feed post. You have two options: create a graphic (a quote card with the text overlaid, a branded image, or a relevant photo), or skip the feed post and use an Instagram Story with text-on-background, which has no image requirement.

Will my Bluesky caption fit on Instagram?

Yes, comfortably. Bluesky caps posts at 300 graphemes (visual characters, where emoji count once). Instagram allows up to 2,200 characters in a caption — the entire Bluesky caption always fits without any trimming.

Do my Bluesky hashtags work on Instagram?

The text of the tags transfers fine, but Instagram now caps posts at 5 hashtags (rolling out since Dec 2025), and its guidance has long favored a small number of focused tags over a long list. Pick the 3–5 tags most relevant to your image and drop the rest. Also note that Bluesky hashtags count toward the 300-grapheme post limit, while Instagram hashtags count toward its 2,200-character caption limit.

Does Bluesky put a watermark on images when you download them?

No. Bluesky does not stamp a logo or handle on exported images the way some other platforms do. The image you posted is the image you get back, so there is no watermark problem on this route — just verify you are saving the original-resolution file rather than a compressed preview.

Post to Bluesky and Instagram in one go

Compose once, customize the caption per network, and let SocialKit publish to Bluesky, Instagram, and 9 more platforms on schedule — no re-uploading, no copy-paste.

Start My Free Trial

€0.00 due today · cancel anytime · 7-day money-back guarantee