Upscale image
2× or 4× in the browser. CPU wait, not an upload.
Runs in this tab. The file stays here.
This runs in your browser. Nothing is uploaded.
About Upscale image
Enlarges a still 2× or 4× in the browser. A small super-resolution ONNX runs when the weights match; otherwise the page is honest high-quality bilinear. Nothing is uploaded.
People search 'AI upscale' and get a site that eats the original and returns a watermark. This page scales in the tab. If the tiny FSRCNN-class ONNX on this origin accepts the tensor layout, it sharpens luma. If it doesn't, wrong input rank, missing file, you get high-quality bilinear and a note, not a fake 4K miracle.
Upscaling can't invent a lens you didn't use. A 64-pixel icon becomes a bigger blurry icon. A 1200-pixel photo can look acceptable at 2× for a slide. 4× on a phone is a long CPU wait. That wait is yours, not an upload bar.
Models load from /models and /ort on this origin, CacheFirst in the service worker, never a CDN. The homepage doesn't fetch them. If you only needed a CSS scale, you didn't need this page.
How to use Upscale image
- 1Drop an image. Smaller sources finish faster.
- 2Pick 2× or 4×. 4× is four times the pixels and much slower.
- 3Click Upscale & download. Read the note if the neural path did not run.
What it won't do
- Not magic. Soft sources stay soft.
- 4× is slow in a tab.
- May fall back to bilinear if the ONNX layout doesn't match.
Common questions
Does upscale upload the image?
No. Same-origin ONNX Runtime. Same rule as the rest of the site.
Will 4× make a passport photo look like a studio shot?
No. Super-resolution guesses high frequencies. It doesn't recover a face that was 80 pixels wide. I won't put 'lossless 4K' on the button.
Why might it fall back to bilinear?
The public super-resolution ONNX zoo models are picky: one channel, fixed tile, 3× native scale. If the weights are missing or the ranks don't match, bilinear still enlarges the picture so the page isn't a dead end. The changelog says which path shipped.
GPU or CPU?
WebAssembly on the CPU unless the browser offers a wasm backend ONNX Runtime can use without extra headers. There's no WebGPU requirement. Expect a wait on a phone.
Related tools
Why this one doesn't upload your file
There is no server to upload to. This page is a static file, and the work happens in your browser using the same graphics and WebAssembly code that renders every other site you visit. Your file is read from disk into memory, processed, and handed back as a download. Once the page has loaded you can disconnect from the network entirely and it keeps working. The longer explanation