Social media image resizer
Pick a network and where the image goes, drop it in, and download one that fits: the right shape, the right size and under the file cap, for Threads, X, Bluesky, Mastodon, LinkedIn, Instagram, Facebook and TikTok.
Runs in your browser. Your text and images never leave it.
Updated
Network
Where it goes
- Up to 8 MB
- JPEG, PNG
- We make 1,440 px wide at most
Drop an image here
or
JPEG, PNG, WebP or GIF. It stays on your device. Nothing's uploaded.
Your image
Your resized image shows up here.
Shape
Save as
Describe the image for people who can't see it. Copy it into the post with the image. Threads doesn't say how it counts, so we count the strictest way.
How it works
- Pick the network and where the image goes: a post, several images, a profile photo, a header or a link card.
- Drop in a JPEG, PNG, WebP or GIF. It's read and drawn in your browser, and nothing's uploaded.
- Pick a shape. Drag on the image, or use the arrow keys, to choose what stays in the crop. Or fit the whole image inside and fill the edges with a blurred copy or a colour.
- Download it. The file's named for where it goes, like
beach-bluesky-post-2666x4000.jpg. The alt text box counts the way that network does, so you can write the description while you're there.
How it gets under the cap
If the file is over the network's cap, the resizer saves it again at lower quality: 85, then 80 down to 25. If that's still too big, it scales the image down in steps to half its size, lowering the quality as it goes, and keeps the first try that fits. It aims 5% under the cap, because a network may count a file's size a little differently from your browser.
Most networks write their caps in MB. We read them as decimal, so 5 MB is 5,000,000 bytes, unless the network's own code says otherwise. Mastodon's does: its 16 MB is 16,777,216 bytes.
It never enlarges an image: a small one stays small, and it tells you if that's under the network's minimum. Very large photos, over about 16.8 megapixels, are read at that size so a phone doesn't run out of memory.
Formats, HEIC and GIFs
It saves JPEG, PNG and, where your browser can write it, WebP, and only the formats the placement takes. An image with transparency starts as a PNG; a JPEG fills clear areas with white.
HEIC photos from an iPhone open where the browser can read them, and Safari can. Elsewhere, the resizer tells you how to get a JPEG instead.
Resizing an animated GIF, PNG or WebP keeps only its first frame. So for a moving image, you can keep the original file as it is, and the resizer checks it against the network's limits for animated images.
A post image on each network
| Network | File size | We make | One image's shape |
|---|---|---|---|
| Threads | 8 MB | 1,440 px wide at most | Not documented |
| X | 5 MB | 4,096 px on the long edge | 3:4 to 2:1 shown whole |
| Bluesky | 2 MB | 4,000 px on the long edge | Taller than 1:2 is cropped |
| Mastodon | 16 MB | up to 8.3 megapixels | Its own shape |
| Not published | 4,096 px on the long edge | Not documented | |
| 8 MB | 1,080 px wide at most | 3:4 to 1.91:1 shown whole | |
| 10 MB | 2,048 px on the long edge | Not documented | |
| TikTok | 20 MB | 1080 × 1920 | 9:16 |
Where a network gives a size, we make that size. Where it only gives a limit, like Threads' 1,440 px, Bluesky's 4,000 px or Mastodon's 8.3 megapixels, we make the largest it keeps. Where it gives neither, we pick one and say so: X and LinkedIn post photos at 4,096 px, X's link card at 1200 × 600, Bluesky's avatar at 1,000 px and LinkedIn's profile photo at 800 px.
Does Shaflex check my images for each network?
Yes. Shaflex checks every image you attach against the media rules of each network you post to, across Threads, X, Bluesky, Mastodon and LinkedIn. If a network can't take an image, the post still goes to the networks that can, with a note saying why. The image editor works inside your draft: crop to a network's size, put a screenshot in a device or on a backdrop, and blur what's private.
See how Shaflex schedules for Threads, X, Bluesky, Mastodon and LinkedIn, how one draft goes to every network, and what the free plan includes.
Where these rules come from
Each one is from the network's own documentation, help pages or source code. We last checked them on .
- Meta for Developers: Threads API overview, Limitations and Specifications
- Meta for Developers: Threads API, Posts
- Meta for Developers: Threads publishing reference (alt_text)
- X Developer Platform: Media best practices (size and format limits)
- X Help Center: How to post photos or GIFs on X
- X Developer Platform: Create media metadata (alt_text)
- X Help Center: How to customize your profile
- X Help Center: Help with uploading a profile photo
- X Developer Platform: Summary card with large image (Wayback Machine copy, February 2026; the live page has moved)
- Bluesky lexicon: app.bsky.embed.images
- Bluesky social-app source: compressImage
- Bluesky lexicon: app.bsky.embed.gallery
- Bluesky social-app source: image size configs, alt text and link card constants
- Bluesky social-app source: AutoSizedImage (one image)
- Bluesky social-app source: ImageEmbed (which layout)
- Bluesky social-app source: AltTextCounterWrapper
- Bluesky social-app source: SelectMediaButton (GIFs)
- Bluesky social-app source: composer state (MAX_GALLERY_IMAGES)
- Bluesky social-app source: ImageLayoutGrid (two to four images)
- Bluesky social-app source: Gallery carousel sizing
- Bluesky lexicon: app.bsky.actor.profile
- Bluesky social-app source: UserAvatar
- Bluesky social-app source: UserBanner
- Bluesky lexicon: app.bsky.embed.external
- Bluesky social-app source: link thumbnails (imageToThumb)
- Bluesky social-app source: ExternalEmbed (link card)
- Mastodon source: MediaAttachment (limits, formats, descriptions)
- mastodon.social instance API (configuration.media_attachments)
- Mastodon source: Attachmentable (pixel limits)
- Mastodon source: media gallery layout and focal point
- Mastodon source: media gallery styles
- Mastodon source: Status (attachments per post)
- Mastodon source: Account::Avatar
- Mastodon source: Account::Header
- Mastodon source: PreviewCard (link previews)
- Mastodon source: link card layout
- LinkedIn Help: Media file types supported on LinkedIn
- LinkedIn Marketing API: Images API
- LinkedIn Marketing API: MultiImage API
- LinkedIn Help: Photo won't upload to your profile
- LinkedIn Help: Add or change the cover image on your profile
- LinkedIn Help: Image specifications for your LinkedIn Pages and Career Pages
- LinkedIn Help: Make your website shareable on LinkedIn
- Instagram Help Center: Post a photo on Instagram (file types from a computer)
- Meta for Developers: Instagram Platform, Content Publishing
- Meta for Developers: Instagram Platform, IG User Media (image, story and carousel limits)
- Instagram Help Center: Image resolution of photos you share on Instagram
- Instagram Help Center: Edit the alternative text for a post on Instagram
- Instagram Help Center: Share a post with multiple photos or videos on Instagram
- Meta for Developers: Graph API, Page Photos (photo specifications)
- Meta for Developers: Graph API, Page Feed (child_attachments: link carousels)
- Facebook Help Center: Facebook Page profile picture and cover photo dimensions
- Facebook Help Center: Add or change your cover photo on Facebook
- Meta for Developers: Images in Link Shares
- Meta for Developers: Facebook Stories API
- TikTok for Developers: Content Posting API, Media Transfer Guide (image restrictions)
- TikTok Help Center: Making a post (up to 35 photos)
- TikTok for Developers: Content Posting API, Photo
- TikTok for Developers: Share Kit for iOS (image count and aspect ratio)
- TikTok Help Center: Accessibility for your videos (alternative text)
- TikTok Help Center: Adding a profile photo
More free tools
Each one runs in your browser too.
- Image tool
Carousel maker
Turn a long post, a thread or a list into a carousel: a cover, a slide per point and a closing slide, for Instagram, TikTok, LinkedIn or Facebook.
Open it - Image tool
Quote card maker
Turn a post, a tweet or a quote into one image on a gradient or solid background, in square, portrait, landscape or story size, saved as a PNG.
Open it - Image tool
Profile banner maker
Make a header for X, LinkedIn, Bluesky or Mastodon, and see where your photo, name and buttons cover it on a computer and a phone.
Open it
Questions
Is my image uploaded anywhere?
No. It's read, cropped, drawn and saved in your browser. Nothing leaves your device, and there's nothing to sign up for.
Why is my image smaller than the size you list?
The resizer never enlarges an image, because that only blurs it. If your crop is smaller than the placement's size, it keeps your size and tells you so.
Can it open HEIC photos from an iPhone?
Where the browser can read them, yes, and Safari can. Elsewhere, open the photo in Photos and share it as a JPEG, or set your iPhone's camera format to Most Compatible.
Does it keep GIFs animated?
Resizing keeps only the first frame. For an animated image you can keep the original file instead, and the resizer tells you if it breaks the network's limits for animated images.
Which networks and placements does it cover?
Threads, X, Bluesky, Mastodon, LinkedIn, Instagram, Facebook and TikTok: post images, several images, profile photos, headers, link cards and stories, wherever the network documents them. Where it doesn't, the guide says so and the size is our pick.
Write the next post once.
Shaflex fits it to Threads, X, Bluesky, Mastodon and LinkedIn, schedules it on your rhythm and brings the replies back to you.
Free plan, no card needed.



