Lighthouse performance score calculator

Enter the five metric values from your Lighthouse report and see the sub-score each one earns, what it contributes to the total, and how many points are still available on it. The arithmetic is the one Lighthouse uses.

90
Good
MetricSub-scoreWeightPointsTo gain
TBT Total Blocking Time9030%27.0 / 30-
LCP Largest Contentful Paint9025%22.5 / 25-
CLS Cumulative Layout Shift9025%22.5 / 25-
FCP First Contentful Paint9010%9.0 / 10-
SI Speed Index9010%9.0 / 10-

Every metric is already at or past its 0.9 control point. Further gains are small and come from the tail of the curve.

Why a threshold does not tell you the score

Each metric becomes a sub-score through a log-normal curve defined by two control points: the value scoring 0.9 and the value scoring 0.5. Because the curve is continuous, there is no cliff at the good threshold. Going from 4.0 s to 3.5 s of LCP earns real points even though both sit outside the good range, while shaving 100 ms off an already fast metric earns almost nothing.

The five sub-scores are then combined with fixed weights. Total Blocking Time alone carries 30 percent, which is why a page with excellent paint timings can still score badly if the main thread is busy.

Control points used

MetricWeightMobileDesktop
TBT30%200ms / 600ms150ms / 350ms
LCP25%2500ms / 4000ms1200ms / 2400ms
CLS25%0.1 / 0.250.1 / 0.25
FCP10%1800ms / 3000ms934ms / 1600ms
SI10%3387ms / 5800ms1311ms / 2300ms

Curve and control points read from the Lighthouse source. This tool computes the score from values you enter; it does not measure your site, and field data from real users can differ from any lab run. Independent tool, not affiliated with Google.

Related tool: Core Web Vitals checker - Total Blocking Time