Threads and Bluesky: Do You Need Different Visuals?

Usually not. A 1080 px wide 4:5 or 1:1 image kept under 1 MB fits both Threads and Bluesky. Here are the specs each publishes and where they differ.

In most cases you do not: a 1080 px wide image at 4:5 or 1:1, exported as JPG or PNG under 1 MB, fits both Threads and Bluesky without a second version. The differences worth planning for are Bluesky's much smaller file limit, the number of images each post can hold, and how much text sits next to the image.

Neither app publishes a recommended pixel size or a feed crop rule for images, so the table below separates what each platform documents from what we recommend. Facts were checked on October 5, 2026, on Meta's and Bluesky's own pages.

What image specs do Threads and Bluesky publish?

Threads specs come from Meta's Threads API documentation, which is written for apps that publish to Threads; the Instagram Help Center pages for Threads describe features but give no image dimensions. Bluesky specs come from its developer docs and the record schemas (lexicons) in its official atproto repository. X is added for comparison.

Spec Threads Bluesky X
Image formats JPEG and PNG officially supported Any image type accepted by the schema GIF, JPEG, PNG (Help Center)
Max file size per image 8 MB 1,000,000 or 2,000,000 bytes (see below) 5 MB
Width 320 to 1440 px; scaled up or down to fit Not published Not published in the Help Center
Aspect ratio Up to 10:1 No limit published; each image stores its ratio 2:1 to 3:4 shown in full
Images per post Carousel of 2 to 20 items 4 in the original image embed, up to 10 in the app since June 2026 4 (API docs)
Post text 500 characters 300 graphemes Not covered here
Alt text Supported and editable A field on every image in the schema Up to 1,000 characters (Help Center)
Color Converted to sRGB Not published Not published

Where do Bluesky's own pages disagree?

On file size. The prose of Bluesky's posts guide says individual images are limited to 1,000,000 bytes, but the code sample on the same page rejects files above 2,000,000 bytes and says that limit comes from the lexicon. The current image embed schema and the newer gallery schema both say 2,000,000 bytes. Our recommendation: export under 1 MB and you are safe whichever number an app enforces.

The image count also changed recently. Bluesky's official account announced on June 8, 2026 that version 1.123 lets you attach up to 10 photos, with a redesigned carousel that only appears for posts with 5 or more. The gallery schema behind it sets a ceiling of 20 and tells apps to enforce a soft limit of 10 for now.

Do Threads and Bluesky crop feed images?

Neither publishes a crop rule for single images in the feed, so we cannot cite one. What they do document points the same way. Bluesky's posts guide says apps use the stored aspect ratio to display images without visual issues, which suggests the app knows each image's shape before it loads. Threads accepts ratios up to 10:1 and only rescales width, which suggests it is built to show tall and wide images rather than trim them to one shape.

Our recommendation is to stay between 4:5 and 1.91:1 anyway. Those shapes display comfortably in every feed we design for, including X's documented 2:1 to 3:4 range, and they leave you free to post the same file everywhere. Very tall infographics may be accepted by Threads but have no documented behavior on Bluesky, so test them before relying on them.

What should one shared file look like?

Build for the stricter platform, then post the same file to both. Below are two renders from our AURORA demo brand that pass every limit in the table.

Portrait 1080 x 1350 post rendered from our AURORA demo brand: a small THREADS + BLUESKY label, the headline One 4:5 file for both feeds in large black type over two lines, a black pill reading Write alt text, an orange triangle in the top right and a large green block in the lower right with the AURORA wordmark

The 4:5 portrait takes the most height in a phone feed that each platform documents as accepted. As a flat graphic exported as PNG, this file is far below 1 MB.

Square 1080 x 1080 post rendered from our AURORA demo brand in a Swiss minimal layout: a small THREADS + BLUESKY label, the headline Same square, two feeds in large black type between two thin rules, and a small RATIO label reading 1:1 with the AURORA wordmark on the right

The square is the safest choice when the same image also goes to Instagram, LinkedIn and X. Our guide to repurposing one visual across platforms shows how to plan that from the start.

Our settings for a shared file (our recommendation):

  • 1080 px wide, 4:5 or 1:1, sRGB color.
  • PNG for flat graphics with text, JPG for photos; under 1 MB either way.
  • Headline inside the central 80 percent of the canvas, so any app padding or preview crop leaves it whole.
  • The same alt text pasted into both apps.

When do you need a different version?

In our experience, only in a few cases:

Situation Why one file fails What to do
Photo-heavy JPG over 1 MB Bluesky may reject it Export a lighter copy for Bluesky
More than 10 images Threads allows 20, Bluesky's app 10 Split into two posts on Bluesky
Tall infographic, beyond 4:5 Bluesky publishes no ratio behavior Cut it into slides
Long explanation in the post text Threads allows 500 characters, Bluesky 300 graphemes Move detail into the image or a reply
Wider than 1440 px Threads scales it down Export at 1080 to 1440 px wide

There is one more case that is about reach, not pixels. Instagram's Help Center explains that you can share Instagram posts to Threads once or automatically, but those cross-posted items are not sent to fediverse servers even if you share to the fediverse. Threads also warns that other servers may limit how media appears, including how many images are shown. If fediverse readers matter to you, post natively on Threads.

How do you keep both feeds on brand?

Use one template per ratio and the same fonts, colors and margins in each. In Chikaboom, a designer builds a layout once and the team fills in the text, which shrinks inside its box instead of overflowing, so a Threads post and a Bluesky post come from the same file. You can see the layouts in the live demo.

For the broader picture, our Instagram carousel design hub covers multi-image posts, the X header and post visual guide covers the network these apps are most often compared with, and the social media image sizes table lists every other platform.

Checklist before you post to both

  • 1080 x 1350 or 1080 x 1080 px, sRGB, JPG or PNG.
  • File under 1 MB, so Bluesky accepts it whichever limit applies.
  • No more than 10 images if the post goes to Bluesky too.
  • Post text under 300 characters, or a shorter version ready for Bluesky.
  • Alt text written once and added in both apps; the Threads Help Center lists editing alt text among its post features.
  • Posted natively on Threads if you want fediverse readers to see it.

FAQ

What image size should I use for Threads and Bluesky?

Neither app publishes a recommended pixel size for feed images. Our recommendation is 1080 x 1350 px (4:5) or 1080 x 1080 px (1:1), exported under 1 MB so the same file fits both.

What is the image file size limit on Bluesky?

Bluesky's own documentation disagrees with itself: the posts guide states 1,000,000 bytes per image, while its code sample and the current image and gallery schemas allow 2,000,000 bytes. Staying under 1 MB satisfies both.

How many images can a Threads or Bluesky post have?

Threads carousels hold 2 to 20 items, per Meta's Threads API documentation. Bluesky's app has allowed up to 10 photos per post since version 1.123 in June 2026; the older image embed holds 4.

Can I share my Instagram posts to Threads automatically?

Yes. Instagram's Help Center describes a toggle when sharing a post that sends it to Threads once or every time. Those cross-posted items are not passed on to fediverse servers.

Sources

  1. Meta for Developers: Threads API overview (media specifications)
  2. Instagram Help Center: Start a new thread on Threads
  3. Instagram Help Center: Share your Instagram posts to Threads
  4. Instagram Help Center: Your Threads posts
  5. Bluesky docs: Posts in-depth
  6. Bluesky atproto repository: app.bsky.embed.images lexicon
  7. Bluesky atproto repository: app.bsky.embed.gallery lexicon
  8. Bluesky atproto repository: app.bsky.feed.post lexicon
  9. Bluesky (@bsky.app): v1.123 release post, up to 10 photos per post
  10. X Help Center: How to post photos or GIFs on X
  11. X Help Center: How to write great image descriptions
  12. X API Docs: Media upload best practices
Stop the brand drift. Start free

Chikaboom turns your brand guidelines into hard constraints. Generate 30 on-brand social graphics in 5 minutes.

Start free, no credit card
Related articles
Instagram, TikTok and X

Instagram Carousel Design for Brands

8 min read
Instagram, TikTok and X

Instagram Grid Planning: Patterns That Look Intentional

6 min read
Instagram, TikTok and X

Instagram Highlight Covers That Match Your Brand

6 min read