Upscale an Image for Social Media — Free, Fast & Private
The picture your followers see is not the file you uploaded, and that single fact reorders every piece of advice about social images. Networks accept an upload, decode it, resize it to whatever their layout currently uses, re-encode it at a quality setting tuned for their bandwidth bill, and serve that. Your original is a suggestion. So the useful question is not "how large can I make this" but "what does the platform want to receive, and how do I hand it something it has the least reason to mangle". Enlargement has a real place in that answer, and a narrower one than most guides suggest: it matters when your source is smaller than the size the platform will display, because then the alternative is the network stretching it for you, badly. That is the job the on-device upscaler is built for.
Target sizes, given honestly as ranges. Exact per-platform dimensions change often enough that quoting them with confidence is a way of being wrong in public, so here is the shape of it and where to check. Square and landscape feed images generally land somewhere around 1000 to 1500 pixels on the long edge. Full-screen vertical formats — stories, reels, shorts — sit roughly in the 1000 to 1200 wide by 1800 to 2000 tall band. Profile pictures are small enough that almost any modern photo clears them. Take the number from the network current help page on the day you post, and treat any figure in a blog post, including a range like this one, as an orientation rather than a specification. Our social media image sizes reference collects the dimensions per platform, and resize image for Instagram covers that one in detail.
Shape first, size second. A file at the right ratio and a modest pixel count fills its slot cleanly. A file at the wrong ratio gets cropped by the layout regardless of how many pixels it carries, and the automatic crop is almost never the crop you would have chosen — heads leave the frame, product edges get clipped, captions in the image get cut in half. So decide the shape deliberately in the cropper before you think about resolution at all. Only once the picture is the right shape does the pixel question become answerable: is the cropped file wider than the platform will display it, or narrower? Wider means you are done and the resizer is the right tool. Narrower is the case this page is for.
What the enlargement actually does. The upscaler runs realesr-general-x4v3 in your browser: a 4.9 MB Real-ESRGAN model, verified against a pinned checksum, executed on your own hardware through WebGPU or WebAssembly in 512px tiles. Rather than averaging neighbouring pixels the way a plain resize does, it predicts plausible full-resolution texture for each patch, so an edge is rebuilt as an edge. That matters most for the sources social posts are actually made from: screenshots, old phone photos, frames grabbed from video, images saved from a chat thread. Free accepts inputs up to 1080px on the long edge and produces up to 4320px at 4x, with a small "minipx.com" watermark in one corner, plus 2 AI runs shared across the three on-device AI tools before a cooldown begins. Pro removes the watermark, makes on-device runs unlimited and raises the caps to 2048px at 4x and 4096px at 2x, both ceilinged at 8192px. The full engine notes are on the AI image upscaler page.
Do not overshoot, and do not stack damage. Two failure modes account for most disappointing posts. The first is enlarging past the display size: quadrupling a 2000px photo to 8000px before uploading achieves nothing, because the network throws away everything above its own width, and you have spent time and upload bandwidth on pixels nobody will see. The second is order. Compressing first and enlarging afterwards hands the model compression blocks to reconstruct faithfully at four times the size, and re-sending a picture through a messaging app before posting it does the same thing twice. Work from the largest, least-processed copy you can find, do the enlargement once, and let compression be the final step rather than an accident that happened earlier.
Compress deliberately, as the last thing you do. Output from the upscaler is PNG, which is right for keeping reconstructed texture intact and wrong for uploading — a 4x PNG is heavy, and every second of upload is a second the platform spends deciding to re-encode harder. Export a JPEG or WebP close to the target dimensions at a quality you have actually looked at, using the image compressor or the platform-specific compress image for social media page. Handing over a file that is already near the display size at a sane quality is the closest thing there is to controlling what the network encoder does next.
Cloud HD, and where it does belong. Pro accounts get a switch beside the run button, off until turned on, which sends that one photo to our GPU for a JPEG pre-clean and a HAT-L rebuild at 4x — up to 25 MB and 4 megapixels in, up to 16× the pixels of the input — a 4 MP photo comes back at about 64 MP, four to five minutes on a full-size source, one of the 10 HD runs in a month inside 150 runs on Pro Monthly or 200 on Pro Annual. For a feed post that will be resized to about 1200 pixels and re-encoded, almost all of that work is discarded, so this is not where those runs earn their keep; printing and product hero shots are. On privacy: the free on-device path keeps the photo on your machine and works offline once the model is cached, while a Cloud HD run is the exception — that photo is uploaded encrypted, processed in the United States on Cloudflare R2 and a Modal GPU, deleted when the run finishes, and in all cases within 24 hours, and never used to train anything.
