Free image resizer and size converter
One image → 11 sizes · all local
What you actually get
Tick a size and its pixel dimensions really change: every file is redrawn at its own width and height, not the original resized once and renamed.
Filenames follow platform-use-widthxheight.ext, for example YouTube-频道封面-2560x1440.jpg. The extension follows the export format: JPEG saves as .jpg, PNG as .png. Brackets in a platform name become hyphens, so the X avatar saves as X-Twitter-头像-400x400.png.
- video thumbnail1280×720
- channel banner2560×1440
- profile banner1500×500
- avatar400×400
- square post1080×1080
- Story image1080×1920
- Reels cover420×654
- shared image1200×630
- profile banner1584×396
- vertical video canvas1080×1920
- Pin image1000×1500
Selecting everything gives 11 files; the “Download ZIP” button adds one social-sizes-20261024-1208.zip containing exactly those results, never the source image.
Three traps worth knowing
None of them throw an error — the output is just wrongA small source can only come out soft
Every size is redrawn at its own pixel dimensions, so a source smaller than the target is interpolated up. The hungriest size is YouTube channel banner(2560×1440) — a phone screenshot sent straight to that size is guaranteed to be upscaled. Check the reading on the source bar after uploading.
Cover-crop cuts the edges off
Cover is the default: scale up to fill the box, discard the excess. A 16:9 image turned into a 9:16 Story loses most of its width, and edge-hugging text goes first. Use contain to keep everything at the cost of background bars, or open the crop dialog, lock the ratio and frame it yourself.
Transparency is PNG-only
JPEG has no alpha channel, so transparent areas get filled with your chosen background colour (white by default). Turning on transparency switches to PNG; switching back to JPEG turns the toggle off — the format simply cannot carry it.
Common questions
When the result looks wrong, or differs from what the platform showsIs my image uploaded?
No. Decoding, drawing and encoding all go through the browser canvas and the page has no file endpoint — check the Network panel: apart from the page’s own static assets, nothing carries your image. The trade-off is that a refresh clears it: images and results live only in this tab, so closing, refreshing or opening a new tab loses them. Download first.
Why is my output blurry?
The source is too small. Each size is redrawn at its target pixels, so anything smaller is interpolated up. The hungriest is YouTube channel banner(2560×1440); the cheapest is X (Twitter) avatar(400×400) — the more sizes you check, the more likely one or two are upscaled. The source bar tells you the numbers.
My important content got cut off?
Cover-crop always cuts edges — that is the definition, not a bug. Switch to contain to see the whole frame, or lock the target ratio in the crop dialog and frame what matters. Platforms crop again on top: avatars become circles, channel banners keep only a middle strip on phones. Open the preview and switch to platform view to see both the crop and the interface overlay.
Transparency is on but the export still has a white background?
Check three things. Format: transparency exists only in PNG, so switching back to JPEG silently disables it. Fit mode: with contain and no transparency the margins are filled with the background colour. Source: an opaque source produces a PNG with no transparent pixels — nothing can invent them.
Why is PNG so much bigger than JPEG?
PNG is lossless, JPEG is lossy — several times the size for the same image is normal. Without a transparency requirement use JPEG: photos, screenshots and gradients all suit it better. Pay the PNG cost only when you need cut-out transparency, or large flat colour with type.
The avatar exports square but shows up round?
What you export is a square canvas; the circle is applied by the platform after upload. Keep key artwork away from the corners, inside the central safe area — platform preview shows the ring that gets cut. Making the corners transparent does not help either: most avatar slots fill alpha with white or black.
Opening the converter from a size page pre-selected one size — why?
On purpose: arriving with ?size= narrows the export set to that one size so you do not have to generate all 11 first. To get everything, open “Export sizes → Select all” in the toolbar; the matching card also highlights for a few seconds.
What is inside the ZIP?
Only the results currently on screen, with exactly the same filenames as individual downloads — no source image and no readme. The archive is named like social-sizes-20261024-1208.zip with a local timestamp, which makes batch archiving easy.
I dragged an image in from the home page and it vanished on refresh?
Correct. The home page only does “pick a file, open the workbench”; the file is handed over in the same tab’s memory and never written to storage. That path therefore has to be an in-site navigation — a new tab or a refresh loses the image, by design. Pick it again, or drop it straight into the converter.
Will a very large source (say 8000px) come out blurry?
No, but it will not get sharper either. Sources above 4096px on the long edge are scaled down to 4096 first, purely to bound memory; the largest output only needs 2560px of width, so there is headroom. You would only notice the downsample if you cropped a tiny region and exported it large.