Upscale an image for social media

Enlarge a small photo on your device for free, then compress it before you post. Pro can run a Cloud HD upscale instead, though a feed rarely needs one.

Upscale factorOne 4.9 MB model, downloaded once, cached forever

Runs the heavier model on our server. Your photo is uploaded for this run only, deleted on completion, never used to train anything. Everything else stays on your device.

Processed in the United States under EU standard contractual clauses. Your photo is deleted on completion, and in all cases within 24 hours.

Drop an image or choose one to upscale
JPEG · PNG · WebP · HEIC · AVIF — processed in your browser

2 of 2 free AI runs left. Pro is unlimited.

Upscale an Image for Social MediaFree, 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.

How it works

  1. Check the platform current size guidance: Open the help page for the network you are posting to and take today numbers. Everything after this depends on the target being right.
  2. Crop to the shape before you touch the size: Square, portrait, or full-screen vertical — decide the ratio deliberately so the layout does not crop it for you.
  3. Enlarge only if the source is below the target: If the cropped file is already wider than the platform display width, skip the upscale entirely. If it falls short, run 2x or 4x and let the model rebuild texture rather than blur it.
  4. Compress, then upload that file: Export at a quality you have looked at, close to the target dimensions. Uploading a checked file gives the platform encoder less to do.

Frequently asked questions

Does uploading a bigger file make a post look better?
Only up to the point where the platform stops using the extra pixels. Every social network resizes and re-encodes what you upload to fit its own display sizes, so anything beyond those dimensions is discarded on the way in. Enlarging helps when your source is smaller than the display width and the platform would otherwise be stretching it. Past that, a larger upload buys nothing and costs upload time.
What pixel size should a feed or story image be?
Work in ranges and confirm against the platform own current help page, because these numbers move. Square and landscape feed images generally land somewhere between about 1000 and 1500 pixels wide; full-screen vertical formats are usually in the region of 1000 to 1200 wide by 1800 to 2000 tall. Aim for the top of the band your platform quotes today rather than for a figure you remember from last year.
Why does my photo look worse online than on my computer?
Because the version you are looking at is not your file. The platform decoded it, resized it to its own layout, re-encoded it at a quality setting chosen for bandwidth, and served that. Soft skin, blotchy skies and mushy dark areas are usually re-encoding, not your source. It is also why sending the same photo through a messaging app before posting it makes things worse: you are stacking two rounds of the same damage.
Is aspect ratio more important than pixel count?
Frequently, yes. A picture at the right ratio and a modest size fills its slot cleanly; a picture at the wrong ratio gets cropped by the layout no matter how many pixels it carries, and the crop is rarely where you would have made it. Decide the shape first, crop to it deliberately, and only then ask whether the pixel count clears the platform display width.
Should I compress before uploading, or let the platform do it?
Do it yourself, deliberately, as the last step. You control the quality setting and can look at the result; the platform encoder does not ask. Export a file that is already close to the display size at a quality you have checked, and the network has less reason to re-encode aggressively. What you must not do is compress before enlarging — that hands the model compression artifacts to reconstruct at four times the size.
Is a Cloud HD run worth it for a social post?
Rarely, and the arithmetic says why. Cloud HD is the Pro-only server path — HAT-L at 4x on our GPU, 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 per run — and each one spends one of the 10 HD runs in a month. A social image is going to be resized down to roughly 1000 to 1500 pixels and re-encoded anyway, so most of that work is thrown away. Save the HD runs for print and archive; use the unlimited on-device path for posts.

All Image Tools

AI Tools

Solutions by use case