PhotosUpscalerUpscale a photoUpload

AI image upscaler that shows what it invented

AI upscaling you can actually check.

Get a 4× bigger photo, then see exactly where the AI added detail.

or drop it anywhere here · paste works too

FreeNo sign-upPhotos stay on your device

A kingfisher photo 170 pixels wide, enlarged as blocky pixelsBefore · 170 pxAfter · 4× sharper

Got a whole folder?

Queue up to 500 photos at once

Drop one photo. Real-ESRGAN is preselected; the button that runs it prints the exact download first. When it has run, the risk map lights every place the model drew texture the photo did not have.

Step 1 of 3 · Files

Drop one photo — or a folder to queue.

A directory or a selection becomes a queue with one rule for every picture in it. A single photograph — dropped, picked or pasted — opens the review studio instead, with a before and after at 100%.

Pixels are read and worked in this tab; model files travel to it, never the other way.

What you are shown before anything runs

— and — minutes

files · tiles · milliseconds a tile, measured over real tiles cut from your own photographs a moment ago, and the name of the graph those numbers describe.

The blanks are blank on purpose. Nothing on this page quotes a duration it has not timed on the machine it is running on, which is why the estimate arrives after the set and not before it.

Model weights come from our model file server only when you press the control that names their size. Everything else — the runtime, the decoding, the inference, the archive — is served from this domain and executed here.

What the model invents, and how you see it

Real-ESRGAN was trained to reconstruct: shown a small photo, it draws a plausible larger one, and on foliage, fabric, skin and lettering “plausible” can mean texture that was never there. This page runs it on your device and then checks it against the same photo enlarged plainly. The split view and the 100% loupe show both; the risk map lights the 16-pixel cells where the model added texture over a flat source; the detail check says whether the result carries more edge detail than a plain enlargement at all.

What it will not do

  • It does not magnify by more than four from the model. Larger sizes are the model's result resampled, and the status line says so.
  • It is not safe on ID photos: an official photo must not be digitally enhanced. Use the online-form page, which never runs a model.
  • It runs on your processor, not a graphics card; a large photo can take minutes, and the button says how many tiles first.

Questions about this

How big is the AI model?
Real-ESRGAN is 4,866,396 bytes, fetched once from our model file server when you press the control that names it, checked against its SHA-256, and kept on this device. The WebAssembly runtime that executes it is served from this domain.
Does it work offline after that?
Yes. Once the model and runtime are kept on this device, the studio runs without a connection; the model shelf in the studio's diagnostics keeps or removes each file.
What does the risk map show?
It compares the result with the same photo enlarged by Lanczos3 — bigger pixels and nothing else — in 16-pixel cells, and lights the cells where the model grew texture the source never had. N steps the loupe through the strongest ones. It flags where to look; it cannot know whether what the model drew is true.
Why is it slower than cloud upscalers?
Because it runs on your processor — WebAssembly on up to four threads where the browser allows it, one where it does not — rather than on a rented graphics card. The trade is that your photo never leaves this device.
Which licence are the models under?
Real-ESRGAN general x4v3 is BSD-3-Clause and ESPCN is Apache-2.0; both are used unmodified. The model ledger lists each file's length, hash and version.

Next on this site

Photographic visual for Ai Image Upscaler
Ai Image Upscaler