Methodology

How Facemap measures and scores a face

Every number Facemap reports is measured, deterministic and reproducible. The same photograph always returns the same result, and each result traces back to a distance, an angle or a residual taken on the 478 point landmark mesh. The overall score goes one step further: it is calibrated against a published research set of faces that published reference ranges for attractiveness, so it predicts how average people would rate your attractiveness out of 100 from that photo. This page publishes the whole pipeline, including the formula behind each measurement and how the score is built.

Analysis happens in your browser. Your image is not uploaded to our server.

The measurement pipeline

01

Capture and validation

A face detector runs live in your browser at roughly three readings a second. Before anything is measured, the frame is checked: exactly one face, head turn and tilt within a few degrees of straight on, a neutral closed mouth, and a face large and sharp enough in the frame. Unsuitable photos (head turned or tipped, camera too close or too far, whole head not in frame, or no face found) are rejected and the person is asked to scan again, rather than guessing a score.

02

Landmarking

Google's MediaPipe Face Landmarker places 478 three-dimensional points on the captured frame, including both irises. The model file is served from this site and the inference runs on your device. No image is uploaded.

03

Normalisation and pose correction

Coordinates arrive normalised to image width and height separately, so the horizontal axis is rescaled by the image aspect ratio before any distance is taken. The mesh is then rotated back towards a straight-on view to remove residual yaw, pitch and roll, and every distance is expressed relative to your own face, usually bizygomatic width, eye width or interpupillary distance, so camera distance and image size cancel out.

04

Measurement

22 measurement categories are derived from the corrected mesh: distance ratios, angles in degrees, coefficients of variation and mirrored-pair residuals. Together they involve over 1,600 individual calculations. Every formula and every landmark index used is published below.

05

Confidence weighting

Each reading carries a confidence value. Expression, residual head angle and low landmark confidence in a region reduce the weight of the readings that depend on it, so a raised brow or a partly hidden forehead nudges the result far less than it otherwise would.

06

Best-of-three capture

The camera automatically captures three photographs at different distances in a single scan. Each photo is measured independently, then your score is read from the clearest, most level photograph rather than a blend of all three, because each photo carries the pose of its own moment. This is what makes the score reproducible between scans.

How the score is built

Each individual measurement is reported against a published reference range, so you can see where that feature sits. The reference comparison uses a Gaussian match curve: a reading on the published reference reads highest, and the reading falls away smoothly as it moves outside the tolerance band. Individual readings are clamped between 1 and 99, because no single measurement should ever claim perfection.

score = round( 100 x exp( -0.5 x ( (reading - target) / tolerance )^2 ) ), clamped to 1 to 99

The Attractiveness Score

The headline score is not a simple average of those reference comparisons. The corrected, confidence-weighted readings are combined and mapped onto a 1 to 100 scale by a model calibrated against Facemap scans compared against published reference ranges face photographs, each rated for attractiveness by around 60 raters. The weights and the curve come from what those panels actually scored, so a high number means your measured structure resembles faces that people rated highly, and the percentile you are shown is your position in that Facemap scans.

Reliability and Weighting

To ensure the score is stable and reproducible, Facemap weights measurements based on how much they are affected by small changes in pose or expression.

Full Weight (Steady)

Measurements that stay steady between repeat photographs carry full weight: jaw angle, jawline, face shape, midface, nose proportions, eye spacing, chin, face width-to-height, and mouth-to-nose.

De-weighted (Moveable)

Readings that move between repeat photographs are reported in full but de-weighted so they cannot swing the headline score: lip fullness, facial thirds, eye-size symmetry, canthal tilt, eye-to-brow distance, lip ratio, facial fifths, overall symmetry, brow symmetry, and gonial angle.

Honest limits

  • It scores the photograph, not you. Angle, lighting, expression, hats and hair all move the number, which is why unsuitable photos are rejected before scoring rather than scored badly.
  • It predicts an geometric reading, not a truth about beauty. Ratings come from research panels, so the score reflects an average of taste, not your taste or anyone else’s.
  • Facemap fitted its calibration on the usable subset of that published research set.
  • It is not a medical, psychological or diagnostic assessment.
  • It is not a judgement of a person. Attractiveness in the world is shaped by expression, grooming, styling, voice, movement and context, none of which a still frame can measure.

Every calculation, measurement by measurement

Landmark numbers refer to MediaPipe Face Landmarker indices. Point 1 is the nose tip, 152 the chin, 234 and 454 the cheek edges, 468 and 473 the iris centres.

Eyes and brows

Canthal tilt

Angle of the inner-to-outer eye corner axis, averaged left and right.

mean( atan2( y(inner) - y(outer), |x(outer) - x(inner)| ) ) in degrees

Landmarks
33, 133 (left), 263, 362 (right)
Reference target
6 degrees positive tilt
Tolerance
7 degrees

Basis: Anthropometric norms for neutral to mildly positive canthal tilt.

Eye spacing

Intercanthal width expressed in eye widths.

dist(133, 362) / mean( dist(33, 133), dist(263, 362) )

Landmarks
33, 133, 263, 362
Reference target
1.00, the one-eye-apart rule
Tolerance
0.22

Basis: Published reference range for eye spacing.

Eye to brow distance

Vertical brow clearance, normalised to eye width.

mean( |y(105) - y(159)|, |y(334) - y(386)| ) / eye width

Landmarks
105, 159, 334, 386
Reference target
0.60 eye widths
Tolerance
0.30

Basis: Aesthetic surgery references for brow position over the orbital rim.

Interpupillary distance

Pupil separation as a fraction of your own bizygomatic width.

dist(468, 473) / dist(234, 454)

Landmarks
468, 473 (iris centres), 234, 454
Reference target
0.46
Tolerance
0.08

Basis: Adult interpupillary to face width ratios in anthropometric data.

Eye size symmetry

Difference in aperture openness between the two eyes.

|EAR(left) - EAR(right)| / mean EAR, where EAR = eye height / eye width

Landmarks
33, 133, 145, 159 and 263, 362, 374, 386
Reference target
0, identical openness
Tolerance
0.20

Basis: Openness is compared rather than raw area so a few degrees of head turn does not register as asymmetry.

Eye aspect ratio

Eye openness, palpebral height against width.

mean( dist(159, 145) / dist(33, 133), dist(386, 374) / dist(263, 362) )

Landmarks
33, 133, 145, 159, 263, 362, 374, 386
Reference target
0.33
Tolerance
0.12

Basis: Typical open-eye aperture ratio in front-facing photography.

Jaw and chin

Gonial angle

Interior angle at the jaw corner.

angle at 172 between 234 and 152, mirrored at 397, then averaged

Landmarks
234, 172, 152 and 454, 397, 152
Reference target
126 degrees
Tolerance
16 degrees

Basis: Cephalometric gonial angle ranges reported in the maxillofacial literature.

Jawline definition

Bigonial width against bizygomatic width, the cheek-to-jaw taper.

dist(172, 397) / dist(234, 454)

Landmarks
172, 397, 234, 454
Reference target
0.72
Tolerance
0.15

Basis: Taper ratios associated with a defined but not square lower face.

Chin to philtrum

Chin height against philtrum length.

|y(152) - y(17)| / |y(0) - y(2)|

Landmarks
152, 17, 0, 2
Reference target
2.20
Tolerance
0.85

Basis: Lower-face vertical balance norms.

Nose, lips and midface

Midface ratio

Pupil line to upper lip distance, in interpupillary units.

|y(pupil midpoint) - y(13)| / dist(468, 473)

Landmarks
468, 473, 13
Reference target
1.00
Tolerance
0.20

Basis: Midface compactness ratio used in facial proportion research.

Nasal index

Nose width against nose height.

dist(129, 358) / dist(168, 2)

Landmarks
129, 358, 168, 2
Reference target
0.75
Tolerance
0.20

Basis: Classical anthropometric nasal index bands.

Mouth to nose width

Mouth width against alar base width.

dist(61, 291) / dist(129, 358)

Landmarks
61, 291, 129, 358
Reference target
1.55
Tolerance
0.32

Basis: Published reference range for mouth-to-nose proportions.

Lip ratio

Lower vermilion height against upper vermilion height.

|y(17) - y(14)| / |y(13) - y(0)|

Landmarks
0, 13, 14, 17
Reference target
1.60
Tolerance
0.65

Basis: Commonly cited 1 to 1.6 upper-to-lower lip proportion.

Proportion and ratio

Facial thirds

Evenness of the three vertical thirds.

standard deviation of the three thirds / their mean

Landmarks
10, 9, 2, 152
Reference target
0, perfectly even thirds
Tolerance
0.22

Basis: Published reference range for vertical facial divisions.

Facial fifths

Evenness of the five vertical columns across face width.

standard deviation of the five columns / their mean

Landmarks
234, 33, 133, 362, 263, 454
Reference target
0, five equal columns
Tolerance
0.40

Basis: Published reference range for horizontal facial divisions.

fWHR

Facial width-to-height ratio.

dist(234, 454) / |y(13) - y(9)|

Landmarks
234, 454, 9, 13
Reference target
1.90
Tolerance
0.42

Basis: fWHR as defined in the behavioural science literature, bizygomatic width over upper-face height.

Face shape

Composite of length-to-width and cheek-to-jaw taper.

0.6 x (face height / face width) + 0.9 x (bigonial / bizygomatic)

Landmarks
10, 152, 234, 454, 172, 397
Reference target
1.55, a balanced oval
Tolerance
0.30

Basis: Weighted blend chosen so oval reads highest and both very long and very square outlines fall away.

Symmetry

Facial symmetry

Mean mirrored-pair residual across the whole face.

midline fitted from 24 mirrored midpoints, head turn removed by regressing the left-right offset difference on landmark depth, then mean hypot(lateral residual, vertical residual) / face width

Landmarks
24 mirrored pairs spanning eyes, brows, cheeks, nose, mouth and jaw
Reference target
0
Tolerance
0.055

Basis: Residual asymmetry after perspective correction; no face measures zero.

Brow symmetry

Mirrored-pair residual across the brow region only.

same residual as facial symmetry, restricted to the brow pairs

Landmarks
105/334, 70/300, 46/276, 107/336, 66/296
Reference target
0
Tolerance
0.055

Basis: Region-restricted version of the whole-face residual.

Lip symmetry

Mirrored-pair residual across the mouth region only.

same residual as facial symmetry, restricted to the lip pairs

Landmarks
61/291, 40/270, 91/321, 39/269, 185/409
Reference target
0
Tolerance
0.050

Basis: Region-restricted version of the whole-face residual.

Lip fullness

Combined vermilion height against mouth width.

|y(17) - y(0)| / dist(61, 291)

Landmarks
0, 17, 61, 291
Reference target
0.45
Tolerance
0.16

Basis: Vermilion height to mouth width proportions in aesthetic reference data.

All 21 measurements are computed from a single captured frame in under a second, on your own device.

See it run on your own face

The free scan places the mesh, computes all 22 readings and returns your Attractiveness Score. No account, no card.