noupload.tools

Estimate the age in a photo

Finds the faces in a picture and reads a rough age off each one.

Heads up: This estimates apparent age from a face. It is routinely out by several years and cannot tell an older teenager from a young adult, so it must not be used to verify anyone's age or to decide anything that matters. It downloads 512 MB of models the first time, because it finds the face before reading it.

Your file

Drop a file here, or click to choose

It stays on this device. Nothing is sent anywhere.

    Settings

    Read this before you trust a number

    This model was trained to predict apparent age from a picture, and it is out by roughly five years on average. That average hides worse cases: it is least reliable at the two ends of the range, and on faces unlike the ones it was trained on. Two models of this kind, given the same portrait, will happily disagree by fifteen years.

    The gap it handles worst is the one people most want it for. A seventeen-year-old and a twenty-two-year-old are inside its normal margin of error, so it cannot tell them apart. It must not be used to verify anyone's age, gate access to anything, or decide anything that carries consequences. If a decision depends on someone's age, ask for identification.

    It finds the face first, and that turns out to matter enormously

    The age model was trained on tight, aligned crops of faces, and it is very good on them. Show it a whole photograph instead and it collapses. Measured against a set of photos with known ages: on a cropped face it read children to within a year, and the same faces placed in an ordinary snapshot came out 23 years too old. A five-year-old across the room reads as a young adult.

    So a face detector runs first, every face it finds is cropped out, and the age model only ever sees a face. A group photo gets a line per face rather than one mushy average. A picture with no face in it gets no number at all, which is the honest answer rather than a made-up one. On photos with a known age, that arrangement lands within about three years, and reads small children correctly instead of ageing them into their twenties.

    That is why this tool downloads two models and around half a gigabyte on first use. Both are cached afterwards.

    Fair uses for it

    Curiosity about how old a portrait reads. Sorting your own photo library roughly by era. Seeing for yourself how far off this class of model is before someone tries to sell you one as an age gate.

    The model also predicts a gender, which this tool deliberately does not show. You did not ask, and a guess about someone's identity is not a thing to hand out as a side effect.

    Common questions

    Can this verify that someone is over 18?

    No. Its error is larger than the gap you are asking about, so it will confidently give the wrong answer. Anything that depends on someone being an adult needs identification, not a classifier.

    It says no face was found.

    The detector did not see one it was confident about, so nothing is estimated. Faces turned well away from the camera, heavily shadowed, or partly covered are the usual reasons. The threshold is deliberately strict, because a skipped photo is a retry while an invented number is just wrong.

    It found a face in a photo of an animal.

    It can happen. A close-up of a big cat is the case that gets through, since the detector is looking for a face-shaped arrangement and finds one. The age next to it is meaningless.

    There are several people in the photo.

    You get one line per face, largest first, up to six. They are estimated separately, so a photo of a parent and a child reads as two different ages rather than one average.

    Why is the download half a gigabyte?

    Two models: one to find faces and one to read an age off a cropped face. Both at full precision, because that is the only configuration this browser runtime is dependable at. They are cached after the first run.

    Is the photo uploaded?

    No. The model runs in your browser and the picture stays in the page. That is the one thing here that is not approximate.

    Related tools