


About this page
One job — the background — done to a stated value, checked on the file, with its limits written down.
What it does
ChangeBgPhoto replaces what is behind the subject of a photograph, and finishes the file for wherever it is going. Pick the form you are applying to and the ground, the pixel size, the kilobyte window and the density follow from a dated table of what that body publishes; place the face against the crown and chin guides; save. The saved file is then decoded again and measured, and the receipt says what it found — and what it did not check, starting with the face. It does not retouch a face, and it does not yet save a subject with nothing behind it.
Keeping to one job is what lets the page be opinionated about small things — where the shadow goes, which white a portal wants, how wide the feather should be, how a kilobyte is counted. Those are the details that decide whether a submitted photograph is accepted, and they are the first things a general-purpose editor abstracts away.
How the selection is worked out
The page samples the colours around the frame’s own border, fits a small model to them, and grows a background region inward from the edges. Each step of that growth costs the colour difference between one pixel and the next plus a share of the local contrast, so a gradient across a wall costs almost nothing to cross and a shoulder costs a great deal. The result is refined against the photograph’s own detail, which is what recovers a soft edge on hair rather than a cut one.
That is arithmetic, not a model, and it runs on your machine with nothing downloaded. It is also exactly what a photograph against a plain wall needs — which is most of what arrives here. Where it struggles, the keep and erase brushes are the answer, and the confidence reading under the controls tells you in advance which case you are in rather than leaving you to find out at the export.
A learned network is the other way to do this, and there are now three to ask for: a portrait segmentation model of 6,163,938 bytes, a portrait matting model of 25,888,640 bytes that keeps hair and veils soft, and an any-subject model of 88,117,930 bytes for products and pets — each fetched from our model file server the first time you press the control that names its size, checked against its published SHA-256, cached in your browser afterwards, and deletable from the same panel. Nothing about the interface changes when you use one. Each is a second source for the same alpha, feeding the same refinement, the same feather, the same unmixing and the same brushes; the two portrait models know nothing about products, furniture or pets, which is what the third is for.
The download is a decision, so it is offered as one. A visitor who never presses it fetches no runtime and no weights, and keeps every control on the page. That is the default, and it is why the colour-guided pass is still the thing being improved rather than a fallback left to rot.
Who this is for, and what it costs
It is free to use and needs no account.
The image you open is read by this page and by nothing else — there is no server behind this domain that could receive it, the outline is worked out inside your own browser either by arithmetic or by an on-device model, and if you ask for a model it is the model that is downloaded to you rather than your photo being sent to it.