Retouch a photo
Photographic visual for About

About RetouchPicture

A single-purpose retoucher for photographs of people, running entirely in the tab you have open. Three layers ship: frequency-separated skin smoothing, a patch-matched heal brush, and flash red-eye correction.

The position, stated once

Most tools in this category are built to be impressive in a before-and-after pair. That objective and a good photograph of a person pull in opposite directions, and the tools resolve it the easy way: the default is strong, the ceiling is high, and the result is a face with no pores, no lines and no shadow under the eye. It looks corrected at thumbnail size and looks like nobody at full size.

This one resolves it the other way. Every layer opens at zero, the skin control stops at 80 per cent of the texture band, and there is a figure beside the picture at all times saying how far the result has moved from what you opened. None of that is a limitation we are working towards lifting. It is the whole argument: a retouch you would be willing to disclose is the only kind worth shipping a tool for.

The consequence is that this site will lose a comparison against a one-press beauty filter, judged on the thing those filters are judged on. We would rather lose it.

Where the work happens

In your browser, on your processor. The pixel engine is a few hundred lines of arithmetic over an RGBA buffer with no dependency of any kind, running in a Web Worker so a full-resolution pass over a 24-megapixel frame does not freeze the page. There is no server side to this site at all — no API route, no upload endpoint, no account. What that rules out is not a policy we promise to keep; it is a component that does not exist.

The consequence you will notice is speed on a large file. A frequency separation is genuine work and a phone from four years ago will take a few seconds over it. That is the price of the architecture and we would make the same trade again.

The three things it does not do

It does not reshape anyone. No jaw slimming, no eye enlargement, no nose narrowing, no waist, no height. That is a decision rather than a gap in a roadmap, and it has a page of its own explaining the reasoning.

It does not work outside a face. The heal brush is meant for a spot on skin, not for a stranger in the background or a date stamp in a corner; removing something from behind a subject is a different operation with different failure modes and it is not what this engine does.

It does not know who is in the frame. The detector answers where a face is, never whose. No face embedding is computed, stored or compared against anything. The mask is geometry and colour statistics, discarded when the tab closes. That also means the tool cannot tell whether a subject is an adult, which is exactly why the conservative caps apply to every photograph rather than to some of them.

What is missing from this release

The mesh. Two model files were specified for the landmark path — a detector that finds faces and a 468-point mesh that traces the features inside one — and exactly one of them ships. The detector does: 229,738 bytes, MIT-licensed, downloaded from our model file server when you ask for it and run on your own processor, which is enough to place the working region and to keep the eyes and the mouth out of it as circles. The mesh does not, so there is no outline of a brow, an eyelid or a lip line, and the tool says that in the rail rather than offering a control that quietly approximates one.

Also absent: per-face layer stacks for a group portrait. The region sits on one face at a time and is moved by hand to the next. Heal, Clone, a smoothing brush, Dodge, Burn, local Colour, Whiten and manual Red-eye are all on the desk.

Who makes it

RetouchPicture is built and run as its own small, independent site, with one job: retouching a photograph of a person without turning them into someone else. A tool with one job can state what it refuses to do, and this one does — on every page, in the rail, and in the caps on its controls. Questions and corrections go through the contact page.