Bluesky Image Sizes & Dimensions (2026 Guide)
Bluesky is built on the AT Protocol and re-encodes every uploaded image to a hard ~1MB ceiling. Using the right dimensions keeps profile art crisp across the official web, mobile, and third-party clients, and stops feed images from being chopped or softened by Bluesky’s aggressive JPEG re-encode.
All Bluesky Dimensions
Profile Avatar
- 1000 x 1000 — 1:1, cropped to a circle
- Displays small in feeds — center your subject with padding
- Max file size: ~1MB (Bluesky re-encodes to JPEG)
Profile Banner
- 3000 x 1000 — 3:1 aspect ratio
- The avatar overlaps the bottom-left of the banner on desktop and mobile
- Max file size: ~1MB
- Full spec, safe zone and template: Bluesky banner size
In-Feed Post Image
- 1200 x 1500 — 4:5 portrait (recommended)
- 1200 x 675 — 16:9 landscape
- Hard cap: 2000 x 2000 pixels per image
- Up to 4 images per post; max ~1MB per image
Link Card / Embed Preview
- 1200 x 630 — pulled from your site’s og:image
- Appears when a URL is pasted into a post
Bluesky Image Specs Comparison
| Format | Dimensions | Aspect Ratio | Max File Size |
|---|---|---|---|
| Profile avatar | 1000 x 1000 | 1:1 | ~1MB |
| Profile banner | 3000 x 1000 | 3:1 | ~1MB |
| Post image (portrait) | 1200 x 1500 | 4:5 | ~1MB |
| Post image (landscape) | 1200 x 675 | 16:9 | ~1MB |
| Link card preview | 1200 x 630 | ~1.91:1 | og:image |
Bluesky vs Twitter/X vs Threads
If you cross-post, these are the sizes that differ. Exporting at Bluesky’s dimensions generally downsizes cleanly to the other two — the reverse does not.
| Format | Bluesky | Twitter/X | Threads |
|---|---|---|---|
| Profile picture | 1000 x 1000 | 400 x 400 | 320 x 320 |
| Banner / header | 3000 x 1000 | 1500 x 500 | No banner |
| Post image (portrait) | 1200 x 1500 | — | 1080 x 1350 |
| Post image (landscape / square) | 1200 x 675 | 1600 x 900 | 1080 x 1080 |
| Link card preview | 1200 x 630 | 1200 x 628 | 1200 x 628 |
Bluesky’s 3:1 banner matches Twitter/X’s ratio, so one 3000x1000 export covers both. Threads profiles have no banner at all. For a side-by-side on posting limits and compression, see Bluesky vs Threads image sizes.
Bluesky Image Optimization Tips
- Compress before you upload: Bluesky re-encodes images to JPEG at roughly 85% quality and caps each upload at ~1MB. If your source is larger, it will be downscaled and softened — pre-compress at the target dimensions so the result stays sharp.
- Use 4:5 portrait for feed images: 1200x1500 takes up more vertical space than square or landscape and is the safest aspect ratio across the official app and major third-party clients.
- Center content in the banner: the avatar overlaps the bottom-left of the 3:1 banner. Keep text and logos in the upper-right two-thirds so nothing important is hidden behind it.
- Always write alt-text: Bluesky’s alt-text field accepts up to ~2,000 characters, and the app lets users require that posts include it. Alt-text isn’t just accessibility — it’s discoverability inside the app.
- Aspect ratio is preserved (within limits): the timeline displays the image at its uploaded ratio up to about 2:1 in either direction. Beyond that, the preview crops to a centered slice and viewers have to tap to see the full image.
- Stick to the supported formats: Bluesky accepts JPEG, PNG, WebP, and the first frame of GIFs. Use PNG for screenshots and graphics with text, and JPEG for photos so the re-encode stage has less work to do.
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 a Bluesky post?
The recommended size for a Bluesky in-feed post image is 1200x1500 pixels (4:5 portrait) for maximum vertical space, or 1200x675 pixels (16:9) for landscape content. Bluesky caps each image at ~1MB and 2000x2000 pixels, so resize before uploading instead of letting the server downscale and soften your image.
What size is a Bluesky profile picture?
Bluesky profile pictures are 1000x1000 pixels (1:1) and are cropped to a circle. They display small in feeds and replies, so use a clean centered subject with at least 10% padding around the edges so faces and logos don’t get clipped by the circular mask.
What are the Bluesky banner dimensions?
The Bluesky banner is 3000x1000 pixels (3:1 aspect ratio). Your avatar sits at the bottom-left and overlaps part of the banner on both desktop and mobile, so place text and logos in the upper-right area to avoid being hidden.
How many images can I attach to a Bluesky post?
Bluesky lets you attach up to 4 images per post. Each image is capped at ~1MB and 2000x2000 pixels, and all four are re-encoded to JPEG. For multi-image posts, use the same aspect ratio across all images so the grid layout stays clean.
Does Bluesky compress images and how should I handle it?
Yes. Bluesky re-encodes uploads to JPEG (roughly 85% quality) and strips most EXIF data. The best defense is to resize at the target dimensions and pre-compress to under ~1MB so the server has less work to do. PNG is a good choice for graphics with sharp text or solid colors; JPEG is best for photographs.