AI Image Upscaler — 2× / 4× in Your Browser
Sharpen low-res photos with Real-ESRGAN. Runs locally on WebGPU (or WebAssembly fallback). No upload, no signup, no watermark.
Drag an image here, or click to choose a file.
JPG, PNG, WebP — works best on inputs under ~4 megapixels.
About this tool
WRRK's image upscaler runs an ONNX-converted Real-ESRGAN model directly in your browser using ONNX Runtime Web. It prefers the WebGPU backend for hardware acceleration and transparently falls back to WebAssembly when WebGPU is unavailable. To avoid running out of memory on large inputs, the image is split into 256×256 tiles with a 16-pixel overlap; tiles are upscaled independently and stitched back together, which keeps memory bounded and lets the tool handle photos well above 4K.
The browser-only architecture matters for two reasons. First, privacy: your photo never leaves your device — useful for personal portraits, document scans, or anything you wouldn't want sitting on someone else's server. Second, cost: there's no per-image fee, no monthly quota, and no watermark. The tradeoff is the one-time 60 MB model download and somewhat longer processing on machines without a GPU. For most use cases — old family photos, social-media thumbnails, product shots — that tradeoff is well worth it.
How to upscale an image (5 steps)
- Upload a photo. Drag a JPG, PNG, or WebP into the drop zone, or click Choose image. The file stays on your device — nothing is uploaded.
- Pick the scale. Toggle between 2× (faster, smaller output) and 4× (slower, sharper detail). Most photos look great at 2×; tiny inputs benefit most from 4×.
- Click Upscale. On the first run, the Real-ESRGAN model (about 60 MB) downloads and caches in your browser. Progress is shown in the bar.
- Compare before & after. Drag the split-view divider to compare the original and the upscaled version. Check edges, text, and texture.
- Download the result. Save as PNG (lossless, larger file) for archival use, or JPG (smaller file) for sharing. No watermark, no quota.
When to use it
- Restoring old family photos that were scanned at low DPI
- Sharpening screenshots and video frames for blogs
- Enlarging product photos for high-DPI displays
- Recovering detail from compressed social-media downloads
- Preparing thumbnails for print without obvious pixelation
- Cleaning up artwork or scans before further editing
Frequently asked questions
+−What's Real-ESRGAN?
Real-ESRGAN (Real Enhanced Super-Resolution GAN) is an open-source AI model trained to upscale real-world photos by 2× or 4× while inventing plausible high-frequency detail — sharper edges, crisper textures, cleaner text. It's the same model family that powers most commercial upscalers (Topaz, Upscayl, Waifu2x successors). We run an ONNX-converted version directly in your browser via ONNX Runtime Web with WebGPU acceleration.
+−Does this work offline?
Yes — after the first run. The model file (about 60 MB) downloads the first time you click Upscale and then gets cached by your browser. Every subsequent upscale runs fully offline because nothing is uploaded; the model executes locally on your CPU or GPU.
+−How big is the model?
The Real-ESRGAN x4 ONNX model is roughly 60 MB. That's the only one-time download. Once cached, it lives in your browser storage until you clear site data — repeat visits skip the download entirely.
+−How long does upscaling take?
On a modern laptop with WebGPU, a 1024×1024 image upscaled 4× takes about 5–15 seconds. On WebAssembly fallback (no GPU) the same image can take 30–90 seconds. Larger inputs scale roughly with pixel count because we tile the image into 256×256 chunks before inference.
+−Why does my GPU need to be enabled?
WebGPU gives you a 5–10× speedup over plain WebAssembly on the same machine. Most modern Chrome, Edge, and Safari builds have WebGPU on by default; if it's disabled the tool automatically falls back to a WASM backend that still works, just slower. You can check WebGPU status at chrome://gpu.
+−Can I upscale faces specifically?
For close-up faces — old portraits, blurry profile pics, low-res family photos — try our face-focused tool at /face-enhancer. It uses GFPGAN, which is trained specifically on facial features and gives noticeably better skin, eye, and hair results than the generic Real-ESRGAN model. For full scenes with people in them, Real-ESRGAN here is fine.
+−What formats are supported?
Input: JPG, PNG, and WebP. Output: high-quality PNG (lossless) or JPG (smaller file, slightly lossy). The output dimensions are 2× or 4× the original — a 512×512 input becomes 1024×1024 at 2× or 2048×2048 at 4×. There's no hard size limit; very large images just take longer because we process them in tiles.
Related on WRRK Tools
Combine two images side-by-side or vertically
ToolAnimated GIF from multiple images
ToolPixelate or mosaic any image — block size 4–64
CategoryBrowse the full image tools category
ArticlePNG, JPG, and WebP each have distinct strengths. Understand compression ratios, quality trade-offs, and when to use each format to optimize your images.
ArticleCompress your images to exactly 100KB or smaller without losing quality. Discover the best methods, tools, and settings for any device.
PresetEmail attachment limits (Gmail still works)