PhotosUpscalerUpscale a photoUpload

Bulk image upscaler: a folder in, one archive out

Upscale a whole folder at once.

Drop a folder of photos and get one ZIP back, every file brought up to size.

or drop it anywhere here · paste works too

FreeNo sign-upPhotos stay on your device

A kingfisher photo 170 pixels wide, enlarged as blocky pixelsBefore · 170 pxAfter · 4× sharper

Got a whole folder?

Queue up to 500 photos at once

Drop a folder, state what every photo has to clear, and see how long it will take on this machine before anything starts. The factor is solved per file; photos that already clear it are copied through untouched.

Step 1 of 3 · Files

Drop a folder, or 20 to 500 files.

A directory or a selection becomes a queue with one rule for every picture in it. A single photograph — dropped, picked or pasted — opens the review studio instead, with a before and after at 100%.

Pixels are read and worked in this tab; model files travel to it, never the other way.

What you are shown before anything runs

— and — minutes

files · tiles · milliseconds a tile, measured over real tiles cut from your own photographs a moment ago, and the name of the graph those numbers describe.

The blanks are blank on purpose. Nothing on this page quotes a duration it has not timed on the machine it is running on, which is why the estimate arrives after the set and not before it.

Model weights come from our model file server only when you press the control that names their size. Everything else — the runtime, the decoding, the inference, the archive — is served from this domain and executed here.

What this does differently

This is the folder door, first. The folder picker is the main control and the estimate is the headline: before a single file is worked, the queue times real tiles from your own photos on your own processor and quotes a range. A job that will not finish is refused with the threshold named, and Lanczos3 — arithmetic, no download — finishes it instead.

One photo dropped here still opens the review studio. For a single photo with no folder in sight, start from upscale image instead.

What it will not do

  • There is no GPU on this path, and model passes use up to four CPU threads where the browser isolates the page (one where it cannot, as in Safari), so a desktop application with a graphics card will be far faster on large photos.
  • Animated GIF and WebP are refused per file, with the reason logged.
  • Nothing here shrinks a photo; every factor is at least one.

Questions about this

How many photos can one bulk run take?
Up to five hundred on a desktop browser, with every source under 1,500 pixels on its long edge for the model path. Past that the estimate turns red and asks a second time; past the published envelope the model path is refused and Lanczos3 takes the set. On an iPhone or iPad every one of those numbers halves.
How long will it take?
The page measures it rather than guessing: eight real tiles cut from three of your own photos are timed on your processor, and the range is quoted before the first file runs. Any single file over five minutes, or a queue over four hours, is refused by name.
Is anything uploaded?
No. The folder is read by your browser, worked in a background thread on this device and written into an archive your browser saves. Only the model file travels, once, from our model file server, after you press the control that prints its size.
What if I close the tab halfway?
Each finished output is kept in this browser's private file system on this device. Come back, grant the folder again, and only the files without a kept output run.
Can each photo have its own settings?
No. A bulk run has one rule; a photo that needs individual judgement belongs in the review studio, which opens when you drop a single photo.

Next on this site

Photographic visual for Bulk Image Upscaler
Bulk Image Upscaler