Bluesky vs Threads Image Sizes — Side-by-Side Comparison
Posting to both text-first feeds? Bluesky and Threads use almost the same aspect ratios but different pixel dimensions, image limits, and compression rules. Here is exactly what to export for each so a single design works cleanly on both.
Bluesky vs Threads at a Glance
| Format | Bluesky | Threads |
|---|---|---|
| Post image (portrait) | 1200 x 1500 (4:5) | 1080 x 1350 (4:5) |
| Post image (square) | 1200 x 1200 (1:1) | 1080 x 1080 (1:1) |
| Post image (landscape) | 1200 x 675 (16:9) | 1080 x 566 (1.91:1) |
| Max image dimensions | 2000 x 2000 | 1440 wide |
| Images per post | Up to 4 | Up to 10 |
| Profile photo | 1000 x 1000 | 320 x 320 |
| Banner / header | 3000 x 1000 (3:1) | No profile banner |
| Link preview | 1200 x 630 (og:image) | 1200 x 628 (og:image) |
| Upload compression | Re-encodes to JPEG, ~1MB cap | Compresses above 1080px wide |
Posting to Bluesky
- Export at 1200px wide. Use 1200x1500 (4:5) for feed posts — the safest ratio across the official app and third-party clients.
- Pre-compress under ~1MB. Bluesky re-encodes uploads to JPEG (~85% quality); resizing first keeps the result sharp.
- Hard cap is 2000x2000. Anything larger is downscaled server-side.
- Add alt-text. Up to ~2,000 characters, and it aids discovery inside the app.
Posting to Threads
- Export at 1080px wide. Use 1080x1350 (4:5) for maximum vertical space in the feed.
- Up to 10 images per post. Keep one aspect ratio across the whole carousel.
- Profile photo syncs from Instagram. Change it on Instagram (320x320) — there is no separate Threads avatar or banner.
- Link previews use og:image. Set 1200x628 on your site to control how URLs render.
One Export for Both Platforms
- Design at 1200x1500 (4:5). It is Bluesky’s recommended size and downscales cleanly to Threads’ 1080x1350 — so a single portrait export covers both feeds.
- Keep the same aspect ratio, not the same pixels. Both feeds reward 4:5 portrait; the only real difference is Bluesky displays at 1200px and Threads at 1080px.
- Mind the limits, not just the recommendation. Bluesky caps you at 4 images and ~1MB each; Threads allows 10 images but compresses anything wider than 1080px.
- Cross-post link cards once. Both pull the Open Graph image from your site, so a single 1200x630 og:image renders correctly on Bluesky and Threads alike.
Drop an image here or click to browse
Social Media Image Size Cheat Sheet (2024)
| Platform | Type | Dimensions |
|---|---|---|
| Post (Square) | 1080 x 1080 | |
| Post (Portrait) | 1080 x 1350 | |
| Post (Landscape) | 1080 x 566 | |
| Story / Reel | 1080 x 1920 | |
| Profile Photo | 320 x 320 | |
| TikTok | Video Cover | 1080 x 1920 |
| Profile Photo | 200 x 200 | |
| YouTube | Thumbnail | 1280 x 720 |
| Shorts | 1080 x 1920 | |
| Channel Banner | 2560 x 1440 | |
| Profile Photo | 800 x 800 | |
| Post (Landscape) | 1200 x 630 | |
| Post (Square) | 1200 x 1200 | |
| Cover Photo | 820 x 312 | |
| Profile Photo | 170 x 170 | |
| Event Cover | 1200 x 628 | |
| X (Twitter) | Profile Photo | 400 x 400 |
| Header Photo | 1500 x 500 | |
| In-Stream Photo | 1600 x 900 | |
| Card Image | 1200 x 628 | |
| Post Image | 1200 x 627 | |
| Cover Photo | 1584 x 396 | |
| Profile Photo | 400 x 400 | |
| Company Logo | 300 x 300 | |
| Standard Pin | 1000 x 1500 | |
| Idea Pin | 1080 x 1920 | |
| Board Cover | 600 x 600 | |
| Profile Photo | 165 x 165 | |
| Twitch | Profile Banner | 1200 x 480 |
| Offline / Video Player Banner | 1920 x 1080 | |
| Profile Photo | 256 x 256 | |
| Info Panel | 320 x 100 | |
| Emote (Large) | 112 x 112 | |
| Emote (Medium) | 56 x 56 | |
| Emote (Small) | 28 x 28 | |
| Snapchat | Snap | 1080 x 1920 |
| Geofilter | 1080 x 2340 | |
| Profile Photo | 320 x 320 | |
| Story Ad | 1080 x 1920 | |
| Threads | Profile Photo | 320 x 320 |
| Feed Image | 1080 x 1350 | |
| Feed Square | 1080 x 1080 | |
| Link Preview | 1200 x 628 | |
| Discord | Server Icon | 512 x 512 |
| Profile Avatar | 128 x 128 | |
| Profile Banner | 600 x 240 | |
| Server Banner | 960 x 540 | |
| Invite Splash | 1920 x 1080 | |
| Custom Emoji | 128 x 128 | |
| Sticker | 320 x 320 | |
| Role Icon | 64 x 64 | |
| Post Image | 1200 x 675 | |
| Community Banner | 1920 x 384 | |
| Avatar / Community Icon | 256 x 256 | |
| Old Reddit Thumbnail | 70 x 70 | |
| Status (Story) | 1080 x 1920 | |
| Business Catalog | 1024 x 1024 | |
| Profile Photo | 500 x 500 | |
| Group Icon | 500 x 500 | |
| Telegram | Channel Post Photo | 1280 x 1280 |
| Story | 1080 x 1920 | |
| Sticker | 512 x 512 | |
| Profile Picture | 512 x 512 | |
| Channel / Group Icon | 512 x 512 | |
| Spotify | Canvas (Looping Video) | 1080 x 1920 |
| Cover Art | 3000 x 3000 | |
| Show / Podcast Artwork | 3000 x 3000 | |
| Profile Image (Artist) | 750 x 750 | |
| Playlist Cover | 640 x 640 | |
| Substack | Newsletter Header | 1456 x 816 |
| Post / Section Hero | 1456 x 816 | |
| Publication Logo | 256 x 256 | |
| Profile Photo | 256 x 256 | |
| beehiiv | Post Thumbnail | 1200 x 630 |
| Publication Logo | 800 x 800 | |
| Profile Picture | 800 x 800 | |
| Inline Image (Landscape) | 1200 x 675 | |
| Inline Image (Square) | 1200 x 1200 | |
| Subscriber Profile Picture | 100 x 100 | |
| Medium | Story Cover | 1500 x 750 |
| Topic / Tag Header | 1500 x 750 | |
| Publication Logo (Horizontal) | 600 x 60 | |
| Publication Logo (Square) | 500 x 500 | |
| Profile Photo | 500 x 500 | |
| Bluesky | Profile Avatar | 1000 x 1000 |
| Profile Banner | 3000 x 1000 | |
| Post Image (Portrait) | 1200 x 1500 | |
| Post Image (Landscape) | 1200 x 675 | |
| Link Card Preview | 1200 x 630 | |
| Mastodon | Profile Picture | 400 x 400 |
| Header Image | 1500 x 500 | |
| Post Image (Landscape) | 1280 x 720 | |
| Post Image (Square) | 1200 x 1200 | |
| Post Image (Portrait) | 1200 x 1500 | |
| Link Preview Card | 1200 x 630 | |
| Etsy | Listing Photo (Square) | 2000 x 2000 |
| Listing Photo (4:3) | 2700 x 2025 | |
| Search Thumbnail | 570 x 456 | |
| Shop Banner (Big) | 1200 x 300 | |
| Shop Banner (Large) | 3360 x 840 | |
| Shop Icon | 500 x 500 | |
| Amazon | Main Image (Recommended) | 2000 x 2000 |
| Main Image (Zoom Minimum) | 1000 x 1000 | |
| Secondary / Lifestyle Image | 1600 x 1600 | |
| Video Thumbnail | 1280 x 720 | |
| Swatch Image | 30 x 30 | |
| Shopify | Product Image (Recommended) | 2048 x 2048 |
| Product Image (Maximum) | 5000 x 5000 | |
| Slideshow / Hero Banner | 1280 x 720 | |
| Blog Post Image | 1200 x 800 | |
| Logo (Wordmark) | 400 x 100 | |
| Favicon | 32 x 32 | |
| Canva | Presentation (16:9) | 1920 x 1080 |
| Instagram Post (Square) | 1080 x 1080 | |
| Instagram Story | 1080 x 1920 | |
| Facebook Cover | 851 x 315 | |
| YouTube Thumbnail | 1280 x 720 | |
| Pinterest Pin | 1000 x 1500 | |
| Logo | 500 x 500 | |
| Wix | Hero / Banner | 1920 x 1080 |
| Section Background | 1920 x 1080 | |
| Blog Post Thumbnail | 880 x 586 | |
| Gallery Image | 1000 x 1000 | |
| Product Image (Wix Stores) | 3000 x 3000 | |
| Logo | 250 x 100 | |
| Favicon | 96 x 96 | |
| WordPress | Featured Image / og:image | 1200 x 630 |
| Thumbnail (cropped) | 150 x 150 | |
| Medium | 300 x 300 | |
| Large | 1024 x 1024 | |
| 2x Large | 2048 x 2048 | |
| Max Upload Before Scaling | 2560 x 2560 | |
| Squarespace | Banner / Section Background | 2500 x 1406 |
| Full-Bleed Background | 2500 x 1667 | |
| Blog Featured Image | 1500 x 1000 | |
| Gallery Image | 1500 x 1500 | |
| Product Image | 2000 x 2000 | |
| Logo | 1200 x 400 | |
| Favicon | 300 x 300 | |
| Google Slides | Widescreen Slide (16:9) | 1920 x 1080 |
| Standard Slide (4:3) | 1024 x 768 | |
| Slide at 100% (16:9) | 960 x 540 | |
| Slide at 100% (4:3) | 960 x 720 | |
| Slack | Workspace Icon | 512 x 512 |
| Profile Photo | 512 x 512 | |
| Profile Photo (Max) | 1024 x 1024 | |
| Custom Emoji | 128 x 128 | |
| Shared Image (Full Preview) | 1024 x 1024 | |
| Link Preview (og:image) | 1200 x 630 | |
| Google Business Profile | Logo | 720 x 720 |
| Cover Photo | 1920 x 1080 | |
| Post Photo | 720 x 720 | |
| Product Photo | 720 x 720 | |
| Photo (Minimum) | 250 x 250 | |
| Tumblr | Photo Post (Recommended) | 540 x 810 |
| Photo Post (Max) | 2048 x 3072 | |
| GIF (Recommended Width) | 540 x 540 | |
| Header Image | 2048 x 1152 | |
| Avatar | 128 x 128 | |
| Email Header | Substack Email Banner | 1100 x 220 |
| Header @2x (600px Email) | 1200 x 240 | |
| Mailchimp Header @2x (New Builder) | 1320 x 264 | |
| Email Body Width (1x) | 600 x 120 | |
| Email Signature | Banner @2x (400x100 Display) | 800 x 200 |
| Banner (Google Footer Max) | 1000 x 100 | |
| Logo / Headshot @2x | 200 x 200 | |
| Logo / Headshot (1x) | 100 x 100 | |
| Facebook Ads | Feed Single Image | 1440 x 1800 |
| Carousel Card | 1080 x 1080 | |
| Stories & Reels | 1440 x 2560 | |
| Link Ad (Legacy 1.91:1) | 1200 x 628 | |
| Google Display Ads | Inline Rectangle | 300 x 250 |
| Large Rectangle | 336 x 280 | |
| Leaderboard | 728 x 90 | |
| Half-Page | 300 x 600 | |
| Wide Skyscraper | 160 x 600 | |
| Billboard | 970 x 250 | |
| Large Mobile Banner | 320 x 100 | |
| Responsive Landscape | 1200 x 628 | |
| Responsive Square | 600 x 600 | |
| LinkedIn Ads | Single Image Ad (1.91:1) | 1200 x 628 |
| Single Image Ad (Square) | 1200 x 1200 | |
| Single Image Ad (Vertical) | 720 x 900 | |
| Carousel Card | 1080 x 1080 | |
| Spotlight Ad Background | 300 x 250 | |
| Spotlight Ad Logo | 100 x 100 | |
| Message Ad Banner | 300 x 250 | |
| Video Thumbnail (16:9) | 1200 x 675 |
Frequently Asked Questions
What is the best image size for Bluesky vs Threads?
Both feeds favor a 4:5 portrait ratio. For Bluesky, export at 1200x1500 pixels; for Threads, export at 1080x1350 pixels. If you only want one file, design at 1200x1500 — it is Bluesky’s recommended size and downscales cleanly to Threads.
Can I use the same image on Bluesky and Threads?
Yes. The aspect ratios match (4:5 portrait, 1:1 square, landscape), so the same composition works on both. Export at 1200px wide for Bluesky; Threads will compress it down to 1080px on upload, which is fine. The main caveats are Bluesky’s ~1MB per-image cap and its limit of 4 images per post versus Threads’ 10.
How many images can I post on Bluesky vs Threads?
Bluesky allows up to 4 images per post, each capped at ~1MB and 2000x2000 pixels. Threads allows up to 10 images per carousel post. For multi-image posts on either platform, keep a single aspect ratio across all images so the grid stays clean.
Do Bluesky and Threads compress images?
Both do. Bluesky re-encodes every upload to JPEG at roughly 85% quality and caps each image at ~1MB, so pre-compress at your target size. Threads compresses anything wider than 1080px, so exporting at exactly 1080px avoids unnecessary softening. In both cases, resizing before you upload beats letting the server downscale.
What are the profile photo sizes for Bluesky and Threads?
Bluesky profile avatars are 1000x1000 pixels and Bluesky also has a 3000x1000 banner. Threads profile photos are 320x320 pixels and sync from your linked Instagram account — Threads has no separate profile banner.