Face Restore On-device · No upload
detecting… How it works SkillSafe
Low-quality input—
Face & landmark detection—
Facial detail enhancement—
Real-ESRGAN inference—
HD result—

Drop a blurry or low-resolution face photo here

or paste it, open a file, or try a demo:

Low-quality input
Facial enhancement
waiting for a photo
Landmarks
waiting for a photo
Detail enhancement
waiting for a photo
Skin tone matched
waiting for a photo
HD output
Resolution:
—
Facial clarity:
—
Skin tone:
—
Processing time:
—

Input→Detect→Enhance→Output

Output scale
Background upscaler

Open a photo above, then press Restore photo. The before/after view appears here.

  • YuNet face detectornot loaded
  • GFPGAN v1.4not loaded
  • Real-ESRGAN x4plusnot loaded

Restore blurry face photos and upscale them 4× — free, in your browser

Face Restore takes a low-quality face photo — blurry, tiny, heavily compressed, or scanned from an old print — and produces a sharp, high-resolution version. It runs the same open-source pipeline used by desktop restoration tools, entirely on your device: nothing is uploaded, there is no account, no watermark and no limit.

How it works: input → detect → enhance → upscale → output

  1. Low-quality input. Open a photo (file, drag-and-drop, paste, or a demo). The photo stays in the browser.
  2. Face & landmark detection. YuNet (OpenCV Zoo, MIT) finds every face and five landmarks — eyes, nose tip and mouth corners. The app shows the marked faces so you can see what it found.
  3. Facial detail enhancement. Each face is aligned to the standard 512×512 template with a similarity transform and restored by GFPGAN v1.4 (TencentARC, Apache-2.0): skin texture, eyes, teeth and hair are reconstructed from the degraded input.
  4. Real-ESRGAN inference. The whole photo is upscaled 4× with Real-ESRGAN x4plus (BSD-3-Clause) on WebGPU, tile by tile. Without WebGPU the app falls back to a Lanczos resample and says so.
  5. HD result. The restored faces are blended back with a soft mask. Compare before and after with the slider, inspect each face, and download a PNG or JPG.

Settings

Frequently asked questions

Is Face Restore free?

Yes. It is free, with no sign-up, no watermark and no usage limits. All processing runs in your browser; the only downloads are the model weights, fetched once and cached.

Are my photos uploaded to a server?

No. Face detection, face restoration and upscaling all run on your device with WebGPU or WebAssembly. Your photos never leave the browser.

Which AI models does it use?

YuNet (OpenCV Zoo, MIT) for face and landmark detection, GFPGAN v1.4 (TencentARC, Apache-2.0) for blind face restoration, and Real-ESRGAN x4plus (BSD-3-Clause) for 4× background upscaling, all executed by onnxruntime-web (MIT). Licences and pinned sources are listed on the How it works page.

How long does it take?

With WebGPU, about a second per face for GFPGAN and a few seconds for a 4× Real-ESRGAN upscale of a small photo, after a one-time model download of about 380 MB. Without WebGPU, face restoration takes roughly ten seconds per face on the CPU and the background is upscaled with a fast Lanczos resampler.

Does it work on photos with several faces?

Yes. Every detected face is aligned, restored at 512×512 and blended back individually. Use the Sensitive detection setting for tiny or very blurry faces.

Can it restore old or scanned photos?

Yes, as long as the faces are recognisable. GFPGAN was trained on degraded faces — blur, noise, JPEG artefacts and low resolution — and reconstructs plausible detail; results are a reconstruction, not a recovery of the original pixels, so identity-critical uses (documents, forensics) are out of scope.