Buy me a coffee
Image

Image Upscaler

Upscale and enhance images 2x with an on-device AI super-resolution model. Increase image resolution for free, privately, with no upload. Runs on your device — nothing is uploaded, nothing is stored.

Large images use a lot of memory. For best results, use inputs no larger than ~1000×1000 px.

Your upscaled image will appear here

Runs a super-resolution AI model entirely in your browser. The model downloads once from a CDN on first use, then upscales on-device — your image is never uploaded.

About Image Upscaler

The Image Upscaler doubles the width and height of a picture using an AI super-resolution model, so a 500×500 image comes back as 1000×1000. Drop in a PNG, JPG or WebP, press Upscale 2x, and download the result as a PNG. The original and upscaled sizes are shown side by side.

The model is Swin2SR (classical, x2), run in your browser with Transformers.js and ONNX Runtime, on WebGPU where available and WebAssembly otherwise. Unlike a plain resize, which only stretches the pixels you already have, the model predicts plausible extra detail. That helps with a small, soft image; it cannot recover detail that was never captured.

It is free, needs no account, and adds no watermark.

Why this runs on your device

Upscaling is done in this tab, so the photo you are enlarging, an old family picture or a client asset, is never sent anywhere. The cost of that is memory and the first-run download: the model is about 21 MB on WebAssembly and about 54 MB with WebGPU, and the work is done on your own device, so large inputs are slow or can fail.

How to use Image Upscaler
  1. Drop a PNG, JPG or WebP image (up to 8 MB) onto the page or click to choose one.
  2. Press Upscale 2x. On the first run, wait for the model to download.
  3. Compare the original and upscaled sizes shown on the two panels.
  4. Download the upscaled image as a PNG.
Limitations and trade-offs
  • It is fixed at 2x. There is no 4x option and no choice of model; to go further you would have to run the output through again, and each pass is limited by the same constraints.
  • Inputs are capped at 8 MB, and the page itself advises keeping inputs to roughly 1000×1000 px or smaller because large images use a lot of memory. A large image may fail and ask you to try a smaller one.
  • The extra detail is the model's prediction, not recovered information. Faces, text and fine patterns can look smoothed or slightly invented, so check the result before you rely on it.
  • The only output is a PNG, which can be much larger on disk than a JPG of the same picture.
Frequently asked questions