AI Image Upscaler

Upscale a photo two or four times with a super-resolution model that runs in your browser. Batch friendly, PNG output, no upload, no watermark, no account.

🌐 Español

Drop your files here (.jpg, .jpeg, .png, .webp)

🔒 Private by design: your files are processed locally in your browser and never uploaded to any server.

Inventing detail rather than stretching pixels

Enlarging an image with ordinary software is a mathematical operation on the pixels present. Whatever interpolation it uses, it can only average between neighbours, so an enlargement is fundamentally a smoother version of the original with the same information spread over more area. Nothing new appears because there is nowhere for it to come from.

A super resolution model works differently. It has seen an enormous number of image pairs, each a high resolution photograph and its downscaled version, and has learned what kinds of detail typically disappear in that reduction. Given a small image it predicts what the larger one probably looked like, so an edge stays an edge and a texture is reconstructed as texture.

The important honesty here is in the word predicts. The output is a plausible reconstruction, not a recovery of information that was lost. On faces and text especially, look carefully before you trust the result, because a plausible invention can be confidently wrong.

Upscaling images

  1. Drop in one or more JPG, PNG or WebP files. The longest side of each must be 1024 pixels or less.
  2. Choose 2x or 4x.
  3. Run it. The first run at a given factor downloads that factor’s own model, so it takes noticeably longer than later ones.
  4. Download each result, a PNG at exactly the multiplied dimensions.

Why the input is capped at 1024 pixels

This model does not resize your image before working on it. Its preprocessing only pads the input up to a multiple of eight pixels and then runs the full transformer over every pixel at the original resolution.

That has a direct consequence: the time taken scales with the pixel count rather than being roughly fixed. Timed runs on a native, multi threaded setup came out around 85 to 90 microseconds per pixel for both factors, so a 512 by 384 image took about 17 seconds there. A single threaded browser build is meaningfully slower than that baseline.

Doubling the longest side quadruples the pixels and therefore quadruples the wait. Left uncapped, a photo straight off a phone camera would either take many minutes or effectively freeze the tab, which is a worse outcome than being told up front that the image is too large. The cap is generous for the actual use case, which is small photos, thumbnails and old scans, and an oversized image is refused rather than attempted.

If your image exceeds it, Resize Image brings it down first. That is less absurd than it sounds, since a large soft image often contains less genuine detail than its dimensions imply.

The two things it quietly changes

Transparency does not survive. The model’s preprocessing converts everything to plain colour and drops the alpha channel entirely, rather than compositing it onto white or any other background. A transparent PNG therefore comes back opaque, with whatever was behind the transparency now baked in as colour. If you need it back, Background Remover can cut it again after upscaling.

Dimensions needed correcting. Because the model pads its input to a multiple of eight and hands back the padded result, an image whose height is not a multiple of eight would otherwise emerge at an unexpected size with mirrored padding along the bottom and right edges. The output is cropped from the top left back to exactly the original dimensions times the factor, so what you download is a clean multiple with no artefact strips.

Where an upscale fits in a workflow

Upscale before you compress, not after. Running a photo through Compress Image first bakes compression artefacts into the input, and the model will faithfully reconstruct those artefacts at four times the size.

Crop first too, with Crop Image, since there is no point spending processing time on parts of the picture you are going to discard, and cropping reduces the pixel count that drives the wait. For an old photograph, Colorize Photo is the other model based restoration tool here and pairs naturally with this one. The rest are on the image hub.

Frequently asked questions

How is this different from just resizing an image larger?

A resize interpolates between the pixels you already have, so a blurry photo enlarged is a larger blurry photo. A super resolution model has been trained on millions of pairs of low and high resolution images and predicts what the missing detail plausibly was, so edges stay sharp and texture is reconstructed rather than smeared. The word plausibly is doing real work there, since the detail is inferred rather than recovered.

Is my photo uploaded?

No. Each factor has its own model of roughly 21 MB in its quantized form, downloaded into your browser tab the first time you use that factor and then reused, so switching between 2x and 4x costs one download each. Every upscale after that runs on your own device. The image never leaves the machine, which matters because the pictures people want enlarged tend to be family photos and old scans rather than stock images.

Why is there a size limit on the input?

Because the model runs over the full input resolution without downscaling it first, so processing time rises roughly in proportion to the pixel count. On measured runs the cost is around 85 to 90 microseconds per pixel, and a browser is slower than the machine those measurements came from. The longest side is therefore capped at 1024 pixels, which keeps the worst case to something a free tool can honestly ask you to wait for instead of freezing the tab.

What if my image is bigger than that?

Shrink it first and then upscale the smaller version, which sounds contradictory and often is not. A large but soft image usually has less real detail in it than its dimensions suggest, so reducing it and then reconstructing gives a cleaner result than trying to process the original. The resize tool on this site handles the first step.

Does it keep transparency?

No, and this is the one loss worth knowing about in advance. The model's own preprocessing converts every input to plain colour and discards the alpha channel outright rather than flattening it onto a background, so a transparent PNG comes back opaque. If transparency matters, upscale the image and then cut the background again afterwards.

What format and dimensions does the result come out at?

Always PNG, at exactly two or four times the original width and height, named after your file with the factor in the name. The exactness needed enforcing. The model pads its input up to a multiple of eight pixels internally and returns the padded result, so a 48 by 36 image would otherwise come back as 96 by 80 rather than 96 by 72. The output is cropped back to the clean multiple so the edges carry no padding artefacts.

Should I pick 2x or 4x?

Start with 2x. It is a separate, smaller model with less to invent, so it tends to look more natural, and doubling is enough for most practical purposes such as printing a web sized photo or filling a modern display. Reach for 4x when the source is genuinely tiny, such as an old thumbnail, and accept that the more detail a model has to invent the more chance it invents something wrong.

Related tools