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 does not — wrong input rank, missing file — you get high-quality bilinear and a note, not a fake 4K miracle.
Upscaling cannot invent a lens you did not 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 does not fetch them. If you only needed a CSS scale, you did not 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 does not 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 does not recover a face that was 80 pixels wide. I will not 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 do not match, bilinear still enlarges the picture so the page is not 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 is 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