Bluesky Banner Size — Header Dimensions & Safe Zone
Upload your Bluesky banner at 3000 x 1000 pixels. The one number Bluesky actually enforces is the shape — its cropper is locked to 3:1 — and a hard 1MB file-size cap written into the AT Protocol itself. Stay under that 1MB and your full-resolution image is stored untouched; go over it and the app re-encodes to JPEG and shrinks your banner to 2000 x 667.
Bluesky Banner Specs
| Spec | Value | Enforced? |
|---|---|---|
| Recommended upload | 3000 x 1000 | Recommendation — any 3:1 size works |
| Aspect ratio | 3:1 | Yes — the cropper is fixed at 3:1 |
| Safe minimum | 1500 x 500 | Same ratio, smaller file |
| Max file size | 1MB (1,000,000 bytes) | Yes — the server rejects anything larger |
| Formats | PNG, JPEG | Yes — no WebP, no GIF, no animation |
| Displayed height | 150 px, full column width | Fine detail will not survive |
Bluesky doesn’t publish a pixel figure for the banner the way Twitter/X does. The 1MB ceiling and the PNG/JPEG restriction come from the app.bsky.actor.profile schema in the AT Protocol, so they apply in every client — not just the official app. 3000 x 1000 is the largest sensible 3:1 export: it stays sharp on high-DPI screens, and anything wider is downscaled by the app anyway.
Where the Avatar Covers the Banner
The circular avatar hangs off the bottom-left of the banner and your display name and handle sit directly beneath it. Nothing you put in that bottom-left corner will be seen. Keep logos and type in the middle and upper-right of the frame — and remember the banner renders only 150 pixels tall, so small text turns to mush.
Download a Blank Template
Start on a correctly-sized canvas instead of cropping at upload. Each downloads as a PNG at the exact Bluesky dimensions.
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 |
Bluesky Banner vs Profile Picture Size
They are two different uploads with two different shapes, and the avatar is drawn on top of the banner. Design them together or the overlap will surprise you.
| Banner | Profile picture | |
|---|---|---|
| Dimensions | 3000 x 1000 | 1000 x 1000 |
| Aspect ratio | 3:1 | 1:1 |
| Crop shape | Rectangle | Circle — corners are cut off |
| Max file size | 1MB | 1MB |
| Overlap | Bottom-left is covered | Sits on top of the banner |
- Both cap at 1MB. The 1,000,000-byte limit in the profile schema applies to the avatar and the banner separately, so each gets its own megabyte.
- The avatar is a circle, the banner is not. Anything in the corners of a 1000 x 1000 avatar is cropped away; the banner keeps its full rectangle.
- Pick a background that reads behind the avatar. The bottom-left of the banner is a backdrop, not a canvas — a busy photo there fights the profile picture in front of it.
How to Resize Your Bluesky Banner
- Drop your image into the resizer above, pick Bluesky, then choose Profile Banner (3000 x 1000).
- Drag the image inside the frame to position it — push the subject right of center so the avatar doesn’t land on it.
- Download. Check the file is under 1MB; if a detailed PNG comes out heavier, export it as JPEG instead.
- In Bluesky, open your profile and tap Edit Profile, then the banner area.
- Select your file. The cropper opens at a fixed 3:1 — because your export is already 3:1, nothing gets cut.
- Save, then look at your profile on a phone. The banner is only 150 pixels tall in the app, so anything that reads as mush there needs to be bigger.
Why the 1MB rule matters more than the pixels: the official app only touches your image if the file exceeds 1MB. When it does, it re-encodes to JPEG and scales the longest edge down to 2000 pixels — a 3000 x 1000 banner lands as 2000 x 667, already compressed once before Bluesky serves it. Getting under 1MB yourself is the whole game.
Bluesky vs Twitter Banner Size Comparison
Both headers are 3:1, so one piece of artwork covers both accounts. What differs is how much file you’re allowed to give them — and Bluesky is five times stricter.
| Bluesky | Twitter / X | |
|---|---|---|
| Banner / header | 3000 x 1000 | 1500 x 500 |
| Aspect ratio | 3:1 | 3:1 |
| Max file size | 1MB | 5MB |
| Formats | PNG, JPEG | PNG, JPEG, GIF |
| Profile picture | 1000 x 1000 | 400 x 400 |
- One export, two profiles: a 3000 x 1000 file fits Bluesky natively and downscales cleanly to Twitter/X’s 1500 x 500. Going the other way — a 1500 x 500 file upscaled for Bluesky — just makes it soft.
- The avatar sits in the same corner on both, so a single safe zone in the bottom-left works for the pair.
- The 1MB cap is the real difference. A header that sails onto Twitter/X at 4MB will be rejected by Bluesky or crushed by its compressor. Export at Bluesky’s budget and use that file for both.
- Threads has no banner at all — profiles there are avatar-only, so there’s nothing to cross-post a header to. See Threads image sizes.
Frequently Asked Questions
What size is a Bluesky banner?
Upload your Bluesky banner at 3000x1000 pixels — a 3:1 aspect ratio. Bluesky does not publish an official pixel size, but its cropper is locked to 3:1 and the file must be under 1MB. Any 3:1 image works: 1500x500 is the same shape with a smaller file.
What is the Bluesky banner aspect ratio?
3:1. This is the one dimension Bluesky genuinely enforces — the image cropper in the app is fixed at 3:1, so an off-ratio upload gets cropped to fit rather than letterboxed. Export at 3:1 and you control what stays in the frame.
What is the Bluesky banner file size limit?
1MB (1,000,000 bytes). The limit is written into the AT Protocol profile schema, so it applies in every Bluesky client, not just the official app. Only PNG and JPEG are accepted — no WebP, no GIF, and no animated banners.
Why is my Bluesky banner blurry?
Almost always because the file was over 1MB. When it is, the app re-encodes it to JPEG and scales the longest edge down to 2000 pixels, so a 3000x1000 banner is stored as 2000x667 and compressed before anyone sees it. Export under 1MB — as JPEG if PNG comes out too heavy — and the original resolution is kept.
Is the Bluesky banner the same size as the Twitter/X header?
The shape is identical — both are 3:1 — so one piece of artwork covers both. The sizes differ in scale and budget: Twitter/X recommends 1500x500 and allows 5MB, while Bluesky takes 3000x1000 but caps the file at 1MB. Export once at 3000x1000 under 1MB and it works on both.
How do I change my banner on Bluesky?
Open your profile, tap Edit Profile, then tap the banner area and choose an image. The cropper opens at a fixed 3:1 ratio. If your file is already 3000x1000 nothing is cropped away — save and the new header is live.
Where does the avatar cover the Bluesky banner?
The circular avatar overlaps the bottom-left of the banner, with your display name and handle just below it. Keep logos, wordmarks, and text in the center and upper-right of the frame. The banner also renders only about 150 pixels tall in the app, so small type is unreadable regardless of upload resolution.