Methodology: How FacialRatio Measures a Face

Last updated: November 1, 2026

FacialRatio turns one front-facing photo into distances, ratios and angles, and compares them with published reference values. This page lists every step and every constant the engine uses, what we have checked, and what we have not. Your photo never leaves your device: all of the steps below run inside your browser.

Who makes it

FacialRatio is a small independent project. It has no medical, cosmetic or dating partners, no user accounts and no database of faces, so it never compares you with other people. The measurement engine is open source under the MIT license, with its tests, on GitHub. Questions and corrections go to support@facialratio.com.

From photo to numbers

  1. Landmarks. Google’s open-source MediaPipe Face Landmarker (Apache-2.0) runs on your device and places up to 478 points on the face, with a depth estimate for each.
  2. Photo checks. Head turn (yaw) beyond ±10° or head tilt (pitch) outside -8° to +16° asks for a retake and withholds the scores. Low light (mean face brightness below 70 of 255), low contrast, a face narrower than 160 pixels or a sideways head tilt over 12° lower the confidence shown with the result.
  3. Normalising. The eye line is levelled, small head turns are undone with the depth estimate, and every length is divided by the pupil distance, so photo size does not matter.
  4. Measuring. 58 measurements: face size and proportions, eyes and brows, nose, mouth and lips, jaw and chin, facial thirds and fifths, golden ratio, symmetry and head pose. The full report lists the landmarks behind each one.
  5. Scoring. Four parts are scored and combined, as below. The same photo always gives the same numbers.

Scores, weights and formulas

Each part starts at 100 and loses points in proportion to how far the photo is from the reference value, clamped between 0 and 100.

PartWeightReferencePoints lost
Symmetry35%Left and right landmarks mirrored across the midline6 per 1% of pupil distance of mean mirror error
Facial thirds25%18 / 41 / 41% (upper third from the upper forehead, estimated)2.5 per percentage point, summed over the three thirds
Facial fifths25%20% of face width each1.5 per percentage point, summed over the five fifths
Golden ratio15%φ = 1.6181.5 per 1% mean deviation from φ

The overall score is the weighted sum, shown with a band. Bands describe the measurements, not a ranking of people:

BandRangeMeaning
A87–100Measured proportions sit very close to every reference value.
B83–86Close to the reference values, with one or two small deviations.
C78–82Close on most measures, with a few noticeable deviations.
D60–77Several measures differ from the reference values — typical of everyday faces and phone photos.
E0–59Large deviations from the reference values — often caused by pose, lens distance or expression. A retake usually helps.

The golden ratio carries the lowest weight because the evidence for it is weak: Holland (2008) found that φ-based masks do not describe a wide range of faces, and Pallett, Link and Lee (2010) found preferred proportions that differ from φ. Face shape uses a separate, published decision table, shown on the face shape page; the jawline is described in categories, not scored.

What we checked

  • The reference face. On MediaPipe’s canonical face, an exact mirror image, the engine measures 0% mirror error and thirds of 19.1 / 39.5 / 41.4%, close to the 18 / 41 / 41% reference.
  • Ordinary photos. On 13 everyday front-facing portraits, the median thirds were 20.4 / 38.7 / 40.7%. Most real faces and phone photos do not land on the reference values, which is expected.
  • Head tilt. On the same 13 portraits, MediaPipe read level heads at a median pitch of +8.2°, so the retake window is centred on that offset instead of on 0°.
  • Small head turns. Undoing head turn within the ±10° window lowered the median mirror error on those portraits from 7.31% to 2.28% of pupil distance, so a slight turn is not read as asymmetry.
  • Repeatability. Automated tests confirm that the same landmarks always give the same result, and that no image or measurement is sent anywhere.

Known limits

  • No score here has been validated against human ratings. Attractiveness depends on much more than proportions (Rhodes 2006; Little, Jones and DeBruine 2011), so read the numbers as measurements only.
  • The face-shape prototypes have not yet been calibrated on a labelled set of photos. Treat the shape as a closest match with a confidence, not a classification.
  • The model cannot see the hairline, so the upper third and the face length start at the upper forehead and are marked as estimates.
  • Five measurements need a side photo and are always marked “Not scored — needs a side photo”: the true jaw angle, chin projection, the nasofrontal and nasolabial angles and facial convexity.
  • Lens distance, camera height, expression, hair, beards and make-up all move the landmarks. Two photos of the same person can differ; compare photos taken the same way.

Privacy by design

The site is static files. There is no server that could receive an image, and the browser makes no upload. The only counting is Cloudflare Web Analytics page views and a request for an empty file when an analysis finishes, which carries no image, score or identifier. Details are in the privacy policy.

Embed a tool on your site

Teachers, hairdressers, glasses shops and bloggers can embed any free tool. It runs inside the visitor’s browser on your page, with the same privacy: nothing is uploaded to you or to us. Copy one of the snippets below. The camera button works when the allow="camera" attribute is kept.

Overall rating

<iframe src="https://facialratio.com/embed/face-rating" title="Face rating tool" width="100%" height="900" style="border:0;max-width:640px" allow="camera" loading="lazy"></iframe>
<p style="font-size:13px">Face rating tool by <a href="https://facialratio.com/">FacialRatio</a>. Photos are analysed in the browser and never uploaded.</p>

Measured dimensions

<iframe src="https://facialratio.com/embed/how-attractive-am-i" title="Facial analysis tool" width="100%" height="900" style="border:0;max-width:640px" allow="camera" loading="lazy"></iframe>
<p style="font-size:13px">Facial analysis tool by <a href="https://facialratio.com/how-attractive-am-i">FacialRatio</a>. Photos are analysed in the browser and never uploaded.</p>

Face shape

<iframe src="https://facialratio.com/embed/what-is-my-face-shape" title="Face shape detector" width="100%" height="900" style="border:0;max-width:640px" allow="camera" loading="lazy"></iframe>
<p style="font-size:13px">Face shape detector by <a href="https://facialratio.com/what-is-my-face-shape">FacialRatio</a>. Photos are analysed in the browser and never uploaded.</p>

Golden ratio

<iframe src="https://facialratio.com/embed/golden-ratio-face" title="Golden ratio calculator" width="100%" height="900" style="border:0;max-width:640px" allow="camera" loading="lazy"></iframe>
<p style="font-size:13px">Golden ratio calculator by <a href="https://facialratio.com/golden-ratio-face">FacialRatio</a>. Photos are analysed in the browser and never uploaded.</p>

Symmetry

<iframe src="https://facialratio.com/embed/face-symmetry-test" title="Symmetry analysis" width="100%" height="900" style="border:0;max-width:640px" allow="camera" loading="lazy"></iframe>
<p style="font-size:13px">Symmetry analysis by <a href="https://facialratio.com/face-symmetry-test">FacialRatio</a>. Photos are analysed in the browser and never uploaded.</p>

Jawline

<iframe src="https://facialratio.com/embed/jawline-rating" title="Jawline analysis" width="100%" height="900" style="border:0;max-width:640px" allow="camera" loading="lazy"></iframe>
<p style="font-size:13px">Jawline analysis by <a href="https://facialratio.com/jawline-rating">FacialRatio</a>. Photos are analysed in the browser and never uploaded.</p>

Example images

The example people on the home, face shape and golden ratio pages are AI-generated (FLUX 1.1 [pro]) and labelled as such; they are not users. The landmarks and numbers shown with them are the engine’s real output. The tool itself never generates or edits images.

Changes

  • November 1, 2026. Example galleries: AI-generated example people (labelled), measured by the engine.
  • November 1, 2026. The full report adds styling notes for glasses, hair, facial hair and brows, chosen by face shape and by your thirds and eye spacing.
  • October 27, 2026. Launch, engine 0.1.0.