How the Face Shape Analyzer Works

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.

Step 1 — Finding 478 points on your face, on your device

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.

Step 2 — Ten landmarks, five measurements

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:

Step 3 — The exact decision order

Those four ratios are checked against fixed thresholds in a specific order, and the first match wins:

  1. Forehead-to-cheek ratio above 1.08 and jaw-to-cheek below 0.90 → classified heart (forehead clearly the widest, jaw clearly the narrowest).
  2. Jaw-to-cheek above 1.08 and forehead-to-cheek below 0.90 → triangle (the reverse pattern — jaw widest, forehead narrowest).
  3. Cheek width more than 5% wider than both forehead and jaw → diamond (cheekbones are the clear widest point).
  4. Length-to-width above 1.55 → oblong (face notably longer than any width measurement).
  5. Length-to-width above 1.25 → oval (moderately longer than wide, without triggering the oblong threshold).
  6. Jaw taper above 0.82 → square (the jaw stays almost as wide near the chin as at mid-jaw — an angular, non-tapering jawline).
  7. None of the above → round (length and width are close, and the jaw tapers noticeably without being sharply angular).

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.

Why these particular thresholds

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.

What never happens

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.

FAQs

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.

→ Analyze your face shape (free)