Free AI Image Upscaler & Photo Enlarger — Upscale 2× or 4× Online
Drop a photo, pick 2× or 4×, and our AI super-resolution enlarges it directly in your browser — sharpens edges, recovers texture, no quality loss. Powered by the Real-ESRGAN engine running as a native ONNX model through ONNX Runtime Web (WebGPU when available, WebAssembly fallback) with tile-based processing so even 4K input fits in memory.
Upscaling with Real-ESRGAN…
Upscale complete
Drag the slider to compare original and upscaled.
When to use an AI image upscaler & enlarger
An AI photo enlarger reconstructs realistic detail that standard resize can't recover — it works for low-resolution photos, old scans, screenshots, AI art and product images.
Enlarge low-resolution photos
Make small or compressed photos print-ready without the soft, pixelated look you get from bicubic resize.
Restore & upscale old scans
Bring old scanned photos, documents, yearbooks and family albums back to life — preserve texture and crispen edges.
Web → print resolution
Take a 720p image to 2880p (4×) so it works in a magazine layout, poster, banner or large print.
Upscale AI-generated art
Bump AI artwork from its native 512 × 512 up to 2048 × 2048 for finishing, framing or selling.
Enhance product photos
Sharpen and enlarge supplier images so they meet Amazon, eBay or Shopify minimum-resolution rules.
Private or sensitive photos
Everything stays in your browser — perfect for personal photos, IDs, documents or proprietary content.
How to upscale & enlarge an image online in 4 steps
Upload the image
Drag, paste (Ctrl/Cmd+V) or click the upload card. JPG, PNG, WebP, GIF and BMP are all supported.
Pick a scale — 2× or 4×
2× uses the Real-ESRGAN x2plus model for gentle enlargement. 4× uses the Real-ESRGAN x4 RRDBNet model for maximum detail recovery. Both download once on first use, then cache.
Upscale with AI
Click Upscale image. The tile-based AI super-resolution runs on your GPU via ONNX Runtime Web (WebGPU when available, WASM fallback).
Compare & download
Use the before/after slider to inspect the enlarged photo, then download as PNG, JPG or WebP.
Image upscaler FAQ — answers to common questions
Drop your photo into this page, pick 2× or 4×, and click Upscale image. The AI super-resolution runs entirely in your browser — no upload, no signup, no watermark. Compare the before/after with the slider and download as PNG, JPG or WebP.
Standard resize (bilinear or bicubic) just stretches the existing pixels — the result is soft and blurry. An AI image enlarger reconstructs the missing detail with a neural network trained on millions of photos, so edges stay sharp and texture stays believable.
Real-ESRGAN — the Real-Enhanced Super-Resolution Generative Adversarial Network from xinntao. The model is shipped as a standard ONNX file and runs through ONNX Runtime Web on WebGPU when available, with a WebAssembly fallback. Real-ESRGAN is the state-of-the-art for realistic photo upscaling and handles compressed, noisy, real-world images well.
Yes — 100% free, ad-free, no signup, no watermarks, no daily quota.
No. The image stays in your browser. AI inference runs locally with ONNX Runtime Web on WebGPU or WASM. The model weights download once and are cached by the service worker so subsequent uses are instant and work offline.
There is no hard limit — the AI is applied in overlapping tiles, so even 4K input is supported. Memory use depends on your GPU/CPU. For very large inputs, lower the tile size (32–64) to fit within available memory.
WebGPU runs the AI on your GPU and is 5–30× faster than WASM. WASM is the CPU fallback used when WebGPU is unavailable (older browsers, GPU disabled). The tool picks WebGPU automatically when possible.
The Real-ESRGAN model weights download once (~64 MB for 2×, ~67 MB for 4×) and the ONNX graph is compiled on first inference. After that the model is cached by the service worker — subsequent upscales are much faster.
Yes. After upscaling, pick PNG (lossless, best quality), JPG (smallest file, lossy), or WebP (small file at high quality).
Yes — images never leave your device. There is no upload step. Everything runs locally with ONNX Runtime Web and the in-browser Real-ESRGAN model. The service worker only caches the model weights, not your images.
About this free AI image upscaler & enlarger
HCODX's AI Image Upscaler is a free, ad-free, no-signup tool that enlarges photos 2× or 4× directly in your browser using Real-ESRGAN super-resolution. The Real-ESRGAN ONNX weights are loaded straight from Hugging Face and executed by ONNX Runtime Web on WebGPU when your browser supports it, with a WebAssembly (SIMD + multi-threading) fallback. No second engine, no JS wrapper library — a single dedicated path keeps the bundle small and the behaviour predictable.
Why Real-ESRGAN?
- State of the art for real-world degraded images. Real-ESRGAN was trained on a realistic degradation pipeline (blur, noise, JPEG artefacts, downsampling) so it generalises far better than vanilla ESRGAN on phone photos and web images.
- GAN-based reconstruction. Recovers texture and edge sharpness that interpolation can't — skin, hair, fabric, foliage look natural rather than waxy.
- Tile-friendly. The architecture is fully convolutional, so tile-based inference produces seamless output without visible patch boundaries (with small padding).
Engine pipeline
- ONNX Runtime Web for the inference runtime — Microsoft's official browser port of ONNX Runtime.
- WebGPU execution provider (primary, when available). Native GPU compute via the WebGPU API. 5–30× faster than CPU.
- WASM execution provider (fallback). SIMD + multi-threading where the page supports cross-origin isolation.
- Custom tile processor. Splits the input into overlapping tiles (default 64 px with 4 px padding), runs Real-ESRGAN per tile, stitches the upscaled output back together — handles arbitrarily large images.
- Service worker (
/tools/cache-worker.js) caches model weights so subsequent runs are instant.
Performance
Times below are approximate, on a modern desktop GPU. CPU/WASM is roughly 10–30× slower.
512×512 input, 2×— ≈ 1–2 s512×512 input, 4×— ≈ 3–6 s1024×1024 input, 2×— ≈ 4–8 s1024×1024 input, 4×— ≈ 15–30 s