How AI image upscaling works — and when to use it
"Upscaling" used to mean stretching pixels and hoping. Modern AI upscaling is a different operation entirely: a neural network that has seen millions of images reconstructs the detail your photo plausibly had before it was shrunk, compressed, or badly saved. Here's what actually happens under the hood — in plain English — and how to get the best results from it.
Resizing is not upscaling
When ordinary software enlarges an image, it interpolates: it spreads the pixels you already have across a bigger canvas and fills the gaps with averages of their neighbors. Nearest-neighbor copies pixels and looks blocky. Bilinear and bicubic blend them and look soft. Lanczos, the best of the classical filters, preserves edges a little better — but no interpolation method can add information. A 800×600 photo holds 480,000 pixels of truth; scale it to 3200×2400 and you're asking 7.2 million pixels to be described by those same 480,000 values. That missing 93% is why enlargements look blurry: the data simply isn't there.
Super-resolution: inferring the missing detail
AI super-resolution takes the opposite approach. Instead of averaging existing pixels, it predicts the missing ones, using knowledge learned from millions of image pairs. During training, the network is shown a sharp photograph and a deliberately ruined copy — downscaled, blurred, noised, and JPEG-crushed — and is graded on how well it reconstructs the original. Repeat that millions of times and the network internalizes what brick, fabric, fur, foliage, and skin look like at high resolution, and how each degrades when an image shrinks.
Real-ESRGAN — the open-source model this site runs — is a refinement of that idea with two tricks that matter in practice. First, it's a generative adversarial network: a second "critic" network is trained to distinguish real photos from reconstructions, forcing the generator to produce texture that looks photographic rather than safely smooth. Second, it was trained on a realistic degradation pipeline — random combinations of blur, sensor noise, resizing, and compression — so it copes with the messy images people actually have, not just laboratory downscales. The variant used here, realesr-general-x4v3, is a compact general-purpose build: about 5 MB of weights that output exactly 4× the input resolution.
Why this now runs in a browser tab
Until recently this class of model needed a desktop app with an NVIDIA GPU or a server farm — which is why most online upscalers upload your image to the cloud. Two things changed. ONNX Runtime Web made it practical to execute real neural networks in JavaScript environments, and WebGPU gave browser code direct access to your graphics card. Chrome, Edge, and Safari now expose enough GPU compute to run a 5 MB super-resolution network at interactive speeds; where WebGPU isn't available, the same model falls back to WebAssembly on the CPU — slower, but identical output.
One engineering detail you'll notice in the progress bar: the image is processed in 192-pixel tiles with an 8-pixel overlap, rather than in one pass. Tiling keeps GPU memory flat no matter how large the image is, and the overlap gives each tile context from its neighbors so the seams are invisible in the composite. It's the same technique desktop tools use for very large files.
What to expect: honest numbers
Speed depends almost entirely on which engine your browser can use. These are our measured timings for this site's 4× model on an Apple-silicon laptop in Chrome (August 2026):
| Input size | Tiles | WebGPU | WASM fallback |
|---|---|---|---|
| 512×512 | 9 | 2.9 s | 6.0 s |
| 1024×1024 | 36 | 10.7 s | ~1 min |
| 2000×1500 | 88 | ~26 s (extrapolated) | ~2.5 min (extrapolated) |
Your hardware will differ — a gaming PC will beat these numbers, an older phone won't reach them. The first run also includes a one-time model download (~5 MB) and GPU shader compilation; subsequent runs start instantly because everything is cached locally.
When 4× upscaling helps
- Printing. Print needs ~300 DPI where screens need ~100. A 1200×900 web photo prints well at only 4×3 inches; upscaled to 4800×3600 it covers a 16×12-inch print at full 300 DPI.
- Old and low-resolution photos. Early digital cameras, downloaded copies of lost originals, small scans — this is the classic restoration case, and where the model shines.
- Logos, artwork, and game textures. Real-ESRGAN handles illustration edges well, and 4× output gives you room to crop, zoom, or re-composite.
- Thumbnails you need at full size. Product shots, album art, avatars — anywhere the only surviving copy is small.
…and when it won't
- Tiny text. Super-resolution reconstructs texture, not language. Illegible text usually becomes sharp-but-wrong shapes.
- Heavily destroyed faces. This general model has no dedicated face-restoration pass; a face that's a 30-pixel smudge will stay a (sharper) smudge.
- Already-sharp images. If the photo is crisp at native size, 4× mostly buys you file size. Upscale when you have a concrete need for the pixels.
Upscaling without uploading anything
Most online upscalers are cloud services: your photo is transmitted to their servers, processed there, and the result is sent back. The better ones promise deletion "within 24 hours" — a promise you can't verify and that still concedes the upload happened. Because the model here runs inside your browser, that entire category of risk disappears: family photos, ID scans, unreleased product shots, and client work never cross the network at all. You can watch the network inspector while you work, or go offline after the page loads — the upscaler keeps working, because nothing it needs is remote.
That architecture is also why it's free without a catch: there's no GPU bill for us to recoup, so there are no credits, quotas, accounts, or watermarks. Your machine does the work; you keep the result.
Getting the best results
- Feed it the least-compressed copy you have — the original PNG beats a re-saved JPEG of the same image.
- Crop first, then upscale, so the model spends its 4× budget on the pixels you actually care about (and stays inside the size limits).
- Compare with the slider at 100% zoom; texture differences are invisible when the result is squeezed into a preview.
- Keep the PNG output for editing or print; re-compress to JPEG or WebP only as the final step, if at all.
Ready to try it on your own image? The upscaler is on the homepage — free, unlimited, and the photo never leaves your machine. Questions? The FAQ covers formats, size limits, and browser support.