How TryPSL Calculates Your PSL Score
TryPSL scores the facial geometry measured in a photo. This page explains the current formula, where its parameters come from and how to interpret the result. It is not a validated attractiveness test.
From photo to score
- Choose the male or female reference and select a clear, front-facing photo. This choice affects only the dimorphism score; it does not infer your gender.
- Your browser reads the photo and uses MediaPipe to locate 478 facial landmarks, correct head rotation and measure facial geometry relative to pupil distance.
- Measurements and photo quality values are sent to our server for scoring. The free scoring request does not upload the photo. Browser previews and server scoring use the same formula.
- Four scores are combined using fixed weights and converted to a 1–8 score, rounded to one decimal. The free scoring request does not save an analysis record.
How the four scores contribute
Each component is calculated on a 0–100 scale and rounded to an integer before blending. Face shape and golden-ratio readings do not contribute to the total. AI report text does not set or change this score.
| Component | Weight |
|---|---|
| Facial harmony | 35% |
| Facial symmetry | 20% |
| Angularity | 20% |
| Dimorphism | 25% |
Converting the blend to a PSL score
Weighted score = 0.35 × Facial harmony + 0.2 × Facial symmetry + 0.2 × Angularity + 0.25 × Dimorphism
The weighted score is converted using the anchors below. Values between two anchors are linearly interpolated, then rounded to one decimal. For example, a weighted score of 70 becomes 5.3 PSL. These anchors are product parameters, not population percentiles.
| Weighted score (0–100) | PSL score (1–8) |
|---|---|
| 0 | 1.0 |
| 40 | 1.6 |
| 50 | 2.3 |
| 56 | 3.3 |
| 63.5 | 4.2 |
| 70 | 5.3 |
| 74 | 6.0 |
| 80 | 7.0 |
| 90 | 7.6 |
| 100 | 8.0 |
Understanding the score bands
The free result uses four bands: 1.0–2.9 is low, 3.0–4.9 is mid, 5.0–6.9 is high, and 7.0–8.0 is top. The numerical midpoint is 4.5; it is not a measured population average.
The optional Looksmax report also uses community names such as LTN, HTN and Chadlite. These labels provide community context, not scientific classifications.
Photo quality and repeat tests
Photo confidence is an image quality indicator based on lighting, sharpness, head angle, expression and face size. An 85% value does not mean the score is 85% accurate. Head angle also changes the weight of measurements used for symmetry.
Use even lighting, keep the camera at eye level, relax your expression and turn off beauty filters. Changing the photo, crop or selected standard can change the result. The same measurements, standard and formula version produce the same score; image processing and landmark detection can also vary with device or algorithm updates.
Reference data and limitations
The current reference parameters came from 17 near-frontal adult face images, 16 of them synthetic. They have no accompanying human attractiveness ratings and are not a representative population sample.
The weights, reference proportions and conversion anchors are experimental product rules. They cannot establish beauty, predict someone else’s opinion of you or guide medical or cosmetic decisions. The small, mostly synthetic reference set limits how broadly results can be interpreted.
Photo handling for free scores and reports
The free test analyzes your photo in the browser and sends normalized landmarks, measurements, photo quality values, the selected standard and a file hash to our server for scoring. It does not upload the photo or save a free analysis record.
Generating a Looksmax report sends front and side photos to an AI model provider through OpenRouter for analysis. The report and measurements are saved to your account; photos can also be saved with the report. Deleting the report or account removes the associated saved photos and analysis records. See the Privacy Policy for details.
Inspect the component formulas and reference parameters
The details below document the current component formulas. Table values are read from the same parameter definitions used by the scoring code.
Harmony formula and reference values
For each measurement x below, closeness C = exp(−0.5 × ((x − μ) / σ)²). Here μ is the reference center and σ controls the width of the scoring curve; it is not a validated population standard deviation. Distance measurements are generally normalized by pupil distance; ratios are unitless.
The base score is 100 × the weighted mean of C. Add a canthal-tilt adjustment of (tilt in degrees − 3.3) × 1, capped at ±6 points. Clamp the result to 0–100, then round to an integer.
| Measurement | Reference center | Width parameter | Weight |
|---|---|---|---|
| Eye width | 0.423 | 0.025 | 1 |
| Inner eye spacing | 0.528 | 0.03 | 1 |
| Nose width | 0.666 | 0.053 | 1 |
| Nose length | 0.75 | 0.062 | 1 |
| Mouth width | 0.9 | 0.12 | 0.8 |
| Philtrum length | 0.216 | 0.045 | 0.7 |
| Total lip height | 0.234 | 0.06 | 0.7 |
| Chin-to-lower-third ratio | 0.483 | 0.055 | 0.8 |
| Midface ratio | 1.064 | 0.1 | 1.2 |
| Face width-to-height ratio | 2.18 | 0.22 | 1 |
| Eye spacing ratio | 0.464 | 0.026 | 1 |
| Face length-to-width ratio | 1.187 | 0.09 | 1 |
| Jaw-to-cheekbone width | 0.8885 | 0.0125 | 0.6 |
| Brow-to-eye distance | 0.317 | 0.05 | 0.7 |
Symmetry formula
In the formulas below, z(x) = (x − μ) / σ, clamped to −3 through 3. clamp(x, a, b) bounds x to a through b, and sigmoid(x) = 1 / (1 + exp(−x)).
Let y be absolute head yaw in degrees. Horizontal weight Y = clamp(1 − (y − 1.5) / 4, 0, 1). A = 0.6 × z(vertical deviation) + 0.25 × z(horizontal deviation) × Y + 0.15 × z(eye size difference + mouth corner difference + brow height difference).
Base symmetry S = 100 × sigmoid(−1.4 × A). Trust weight T = clamp(1 − (y − 5) / 10, 0, 1). Final symmetry = round(T × S + (1 − T) × 60). As head turn increases, the result fades toward a neutral reference of 60 to reduce effects of the 2D projection.
| Measurement | Reference center | Width parameter |
|---|---|---|
| Vertical asymmetry | 0.012 | 0.01 |
| Horizontal asymmetry | 0.049 | 0.025 |
| Combined eye, mouth and brow difference | 0.02 | 0.015 |
Angularity formula
Using z and sigmoid as defined above, B = −0.4 × z(jaw angle) − 0.3 × z(jawline deviation) + 0.2 × z(jaw-to-cheekbone width) + 0.1 × z(cheek depth). Angularity = round(100 × sigmoid(1.4 × B)).
| Measurement | Reference center | Width parameter |
|---|---|---|
| Jaw angle (degrees) | 137.9 | 4.5 |
| Jawline deviation | 0.146 | 0.015 |
| Jaw-to-cheekbone width | 0.8885 | 0.0125 |
| Cheek depth from landmarks | 0.944 | 0.05 |
Dimorphism formula
For each component below, calculate z(x), clamp it to −3 through 3, multiply by its direction sign, then take the weighted mean to obtain index I. The male score is round(100 × sigmoid(1.6 × I)); the female score is round(100 × sigmoid(−1.6 × I)). These are mirrored product scoring rules, not validated gender or attractiveness classifiers.
| Measurement | Reference center | Width parameter | Direction | Weight |
|---|---|---|---|---|
| Jaw-to-cheekbone width | 0.8885 | 0.0125 | 1 | 1 |
| Jaw angle (degrees) | 137.9 | 4.5 | -1 | 1 |
| Brow-to-eye distance | 0.317 | 0.05 | -1 | 1 |
| Total lip height | 0.234 | 0.06 | -1 | 0.8 |
| Chin-to-lower-third ratio | 0.483 | 0.055 | 1 | 0.8 |
| Eye size ratio | 0.196 | 0.0135 | -1 | 0.8 |
| Face length-to-width ratio | 1.187 | 0.09 | 1 | 0.5 |
| Nose width | 0.666 | 0.053 | 1 | 0.6 |
| Face width-to-height ratio | 2.18 | 0.22 | 1 | 0.6 |
Formula: v1.0 · Measurement engine: mp-face-landmarker-1/metrics-0.1