Updated October 2026
Every shape this tool reports comes from a short, inspectable chain of geometry — not a trained classifier, not a guess, and not a server-side black box. This page walks through exactly what happens between you choosing a photo and a shape label appearing on screen, in the same order the code runs it.
The tool loads Google's MediaPipe FaceLandmarker model — a compact neural network — once, the first time you use it, as a one-time download. From then on, every photo you analyze is processed by that model running directly in your browser via WebAssembly and WebGL (GPU-accelerated where available, with an automatic CPU fallback if GPU initialization fails). The model outputs 478 individual (x, y) landmark points mapped to specific, named locations on a face — the edge of the forehead, the corners of the jaw, the chin point, and so on. This entire step runs locally: your photo is drawn onto an in-page canvas, fed straight into the on-device model, and never leaves your browser. See how your photo is handled for the full technical picture of what does and doesn't leave your device.
Out of the 478 points, only ten feed the actual classification, each a fixed index in MediaPipe's standard face-mesh numbering: forehead top (index 10) and chin (152) for face length; left and right cheekbone (234, 454) for cheek width; left and right mid-jaw (172, 397) for jaw width; left and right jaw-near-chin (176, 400) for how much the jaw narrows toward the chin; and left and right temple (54, 284) for forehead width. From the straight-line pixel distances between those pairs, the tool computes four ratios:
Those four ratios are checked against fixed thresholds in a specific order, and the first match wins:
Because it's a sequential cascade, a face sitting near two thresholds at once can tip either way depending on which check fires first — which is exactly why small changes in head angle or hair coverage can shift the result, discussed in detail on the accuracy page.
The threshold values (1.08, 0.90, 1.05, 1.55, 1.25, 0.82) were chosen to produce sensible-looking category boundaries across a range of test photos — they are descriptive cutoffs for a readable result, not numbers derived from a peer-reviewed anthropometric study. That's stated plainly here rather than dressed up, because it matters for how much weight you should put on a borderline result.
At no point in this pipeline is your photo, your landmark coordinates, or your computed ratios sent to a server. There is no server-side image processing on this site — the only network requests the page makes are for the MediaPipe code library and model weights themselves, which are generic downloads with nothing about you in them. Closing the tab or uploading a new photo discards everything instantly.
Is this the same math a stylist or optician uses? No — professionals typically judge face shape by eye, in person, accounting for 3D structure, proportion, and personal style factors this flat 2D landmark approach can't see. See the comparison page.
Can I see my own ratio numbers? Yes — after analyzing a photo, the result panel shows the exact length/width, jaw/cheek, forehead/cheek, and jaw-taper values computed for that photo, right below the shape label.
Does a different photo of the same face give the same shape? Usually, if angle, hair, and lighting are similar — see how to take a photo for an accurate result for what changes it.