Restore faces in photos with AI
Old photos, faces blurred by enlargement, small faces in group shots: GFPGAN running inside your browser redraws them. Faces are detected automatically and several are handled at once. Photos never leave your device.
The first run downloads an AI model (about 165 MB); later runs use the copy stored in your browser. Nothing but the model is transferred and your images are never uploaded.
Settings
How to use
- 1
Add photos
Drop blurry faces or old photos. Small faces in group photos are handled too.
- 2
Set the strength
1 uses the restored face as-is; lower values blend in the original to keep the person’s likeness. The first run downloads the AI model (about 165 MB). With WebGPU each face takes about a second; without it, 10–20 seconds on the CPU.
- 3
Run and check
Use “Compare” to check against the original. Only faces are changed, so combine with “AI upscale” if the rest needs work.
How it works and what to expect
RetinaFace locates each face and its eyes, nose and mouth; each face is cut out at 512×512, restored with GFPGAN v1.4 and pasted back. It is the same combination the official tools use to fix the facial detail that Real-ESRGAN (AI upscale) handles poorly.
Because GFPGAN generates a plausible face, the result can look slightly different from the person. For ID photos and other cases where likeness matters, lower the strength to blend in the original. With WebGPU each face takes about a second; without it, 10–20 seconds on the CPU. The model (about 165 MB) is downloaded once.
Frequently asked questions
Are my photos sent to a server?
No. The AI models are downloaded into your browser and both detection and restoration run on your device’s GPU.
Does it improve anything besides faces?
Only the detected face regions are redrawn. To improve the whole photo, run “AI upscale” first and then face restoration.
The face no longer looks like the person
That is a limit of generative models. Lower the strength to 0.5–0.7 to keep more of the original features. Very low-quality inputs rely more on guesswork.
Does it work without WebGPU?
Yes. Without WebGPU it runs on the CPU (WebAssembly) at 10–20 seconds per face. Afterwards you see whether it ran on the GPU or CPU.
Help us improve the service
If a conversion fails, sending us the circumstances helps us track down the cause. Knowing which devices and formats fail most often, and how long processing takes, lets us revise the supported formats and fix the bugs behind them. If you don't mind, leaving this on is a real help.
What is sent
The tool you used and the settings you chose (output format, quality, etc.), your device specs (GPU, memory, core count), the input format with a rough size, how many files succeeded or failed and how long it took, and the error type and details when something fails.
What is never sent
The files themselves, file names, text, subtitles or prompts you add to a video, and IP addresses. The data goes only to this site's own server, never to a third-party service.