Skip to main content

Web Vitals Score Calculator

Grade your Core Web Vitals against Google's Good / Needs-Improvement / Poor thresholds. Enter LCP, INP, and CLS (plus optional FCP, TTFB, and TBT) to get an overall pass/fail verdict, a per-metric rating breakdown, and targeted improvement suggestions.

Input

Core Web Vitals

Good ≤ 2500ms · Needs Improvement ≤ 4000ms · Poor > 4000ms

Good ≤ 200ms · Needs Improvement ≤ 500ms · Poor > 500ms

Good ≤ 0.1 · Needs Improvement ≤ 0.25 · Poor > 0.25

Secondary metrics (optional)

Good ≤ 1800ms · Needs Improvement ≤ 3000ms · Poor > 3000ms

Good ≤ 800ms · Needs Improvement ≤ 1800ms · Poor > 1800ms

Good ≤ 200ms · Needs Improvement ≤ 600ms · Poor > 600ms

Output

Metric breakdown
MetricValueRatingWhat it means
No data yet
Suggestions
Was this helpful?

Guides

Grade your site's Core Web Vitals against Google's published thresholds without opening a full audit tool. Enter the three core field metrics — Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout Shift (CLS) — and the calculator returns an overall pass/fail verdict, a per-metric rating (Good / Needs Improvement / Poor), and targeted fixes for anything that falls short. Three optional secondary metrics (FCP, TTFB, TBT) round out the picture.

How to use it

  1. Grab your metric values from a real-user data source (Chrome User Experience Report, PageSpeed Insights "field data", or your RUM provider) or a lab run (Lighthouse).
  2. Type each value into its field. LCP, INP, FCP, TTFB, and TBT are in milliseconds; CLS is a unitless score.
  3. Read the Verdict and Summary, then check the Metric breakdown table for each metric's rating and the Suggestions panel for concrete improvements.

Leave a field blank to mark it "Not Provided" — it is simply excluded from the assessment. A site is only rated Passes Core Web Vitals when LCP, INP, and CLS are all present and all rated Good.

Thresholds

A metric is rated Good when its value is at or below the Good boundary, Needs Improvement when it is above Good but at or below the Needs-Improvement boundary, and Poor above that.

Metric Good Needs Improvement Poor
LCP — Largest Contentful Paint ≤ 2500 ms ≤ 4000 ms > 4000 ms
INP — Interaction to Next Paint ≤ 200 ms ≤ 500 ms > 500 ms
CLS — Cumulative Layout Shift ≤ 0.1 ≤ 0.25 > 0.25
FCP — First Contentful Paint ≤ 1800 ms ≤ 3000 ms > 3000 ms
TTFB — Time to First Byte ≤ 800 ms ≤ 1800 ms > 1800 ms
TBT — Total Blocking Time ≤ 200 ms ≤ 600 ms > 600 ms

Which metrics count toward passing?

Only the three core metrics — LCP, INP, and CLS — determine the pass/fail verdict. FCP, TTFB, and TBT are diagnostic: they help explain why a core metric is slow (for example, a high TTFB inflates LCP), but Google does not include them in the Core Web Vitals assessment itself.

What replaced FID?

Interaction to Next Paint (INP) became a stable Core Web Vital in March 2024, replacing First Input Delay (FID). INP measures the worst-case latency across all interactions on the page, not just the first one, so it is a stricter and more representative responsiveness signal. If your tooling still reports FID, use INP wherever you can get it.

Field data vs. lab data

Prefer field data (real users, 75th percentile over 28 days) for the pass/fail verdict — that is what Google uses for ranking signals. Lab data from Lighthouse is reproducible and great for debugging, but a single throttled run can differ from what real visitors experience. TBT in particular is a lab-only metric that correlates with (but does not equal) INP in the field.

Privacy

Everything runs entirely in your browser. Your metric values are never uploaded or stored — the calculation is pure client-side math.

web vitalscore web vitalslcpinpclsperformancepagespeedseo

Use it from code

From 3 credits per call

REST API

curl -X POST https://api.iotools.cloud/v1/tool/web-vitals-score-calculator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "lcp": "2000",
    "inp": "150",
    "cls": "0.05",
    "fcp": "",
    "ttfb": "",
    "tbt": ""
  }'

Swap in your own key from your account. The tool's fields are the body — no wrapper.

Ask an AI agent

Use the IOTools `web-vitals-score-calculator` tool (Web Vitals Score Calculator) on this input:

YOUR_INPUT_HERE

Paste this at any agent connected to the IOTools MCP server, then add your input.

Part of a workflow

All collections

Love the tools? Lose the ads.

One payment clears every ad from your account, for good. No subscription, no tracking.