PhotosUpscalerUpscale a photoUpload

Portrait and face upscaler

Sharper faces, bigger portraits.

Enlarge portraits with gentle clean-up where a face is found.

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 one portrait. Portrait mode holds detail back on skin, a face detector that runs on this device finds the faces, refinement acts only inside them, and the hot-spot tour starts on the faces.

Step 1 of 3 · Files

Drop one portrait — or a folder of them to queue.

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 page does differently

Portrait mode is Real-ESRGAN with detail recovery held at 15 and face refinement at 60. Invented skin texture is the most visible failure an upscaler has, so the mode spends its sharpening on edges the photo already had and calms the model's texture on skin.

Refinement is not applied to the whole picture. Press “Find faces on this device” and a small detector (YuNet, fetched once) marks the faces; refinement acts only inside those boxes, with the eyes kept at full detail. No face found means no refinement, and the panel says so.

When faces were found, the hot-spot tour starts on them: the first spots the loupe visits are the face cells where the result carries the most texture the plain enlargement does not have.

What it will not do

  • It is not for passport, visa or ID photos. Those must not be digitally enhanced; use the online-form page, which never runs a model or refines a face.
  • A face under 32 pixels across has too few pixels to refine. The panel counts those separately and says that whatever the model drew there is a guess.
  • It does not undo motion blur or focus blur, and it does not change expressions, skin tone or lighting.

Questions about this

Is my photo uploaded?
No. The photo is decoded in this tab, the face detector and the upscaling model run on this device, and the only downloads are the two model files, once, from our model file server, after a press that prints their size.
How does it find faces?
With YuNet, a small face detector from the OpenCV model zoo (MIT licence, 229,738 bytes), run on this device. It returns boxes and five landmarks; refinement acts only inside those boxes.
Will it make skin look plastic?
It is tuned not to. Portrait mode holds sharpening back on skin and the refinement calms texture the model added there, so pores are not invented. The risk map and the tour show any cell where texture was still added; check them at 100%.
Can I use it for a passport or visa photo?
No. Official photos must not be digitally enhanced. The online-form page sizes a photo to a form's pixel and KB limits without a model and without face refinement.
How big can the result be?
2×, 3× or 4× in the studio, up to the 32-megapixel review ceiling on desktop (halved on iPhone and iPad). Real-ESRGAN draws four times; 2× and 3× are its result brought down with Lanczos3.

Next on this site

Photographic visual for Portrait Upscaler
Portrait Upscaler