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
- 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.
- 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.
- 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.
- 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.
- 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.
| Part | Weight | Reference | Points lost |
|---|---|---|---|
| Symmetry | 35% | Left and right landmarks mirrored across the midline | 6 per 1% of pupil distance of mean mirror error |
| Facial thirds | 25% | 18 / 41 / 41% (upper third from the upper forehead, estimated) | 2.5 per percentage point, summed over the three thirds |
| Facial fifths | 25% | 20% of face width each | 1.5 per percentage point, summed over the five fifths |
| Golden ratio | 15% | φ = 1.618 | 1.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:
| Band | Range | Meaning |
|---|---|---|
| A | 87–100 | Measured proportions sit very close to every reference value. |
| B | 83–86 | Close to the reference values, with one or two small deviations. |
| C | 78–82 | Close on most measures, with a few noticeable deviations. |
| D | 60–77 | Several measures differ from the reference values — typical of everyday faces and phone photos. |
| E | 0–59 | Large 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.